Php 错误:将数据插入mySQL
我不知道我做错了什么,但它没有插入我希望它放入数据库的数据。除了我创建的mysql之外,没有给我任何代码错误,比如“错误插入”之类的东西。我也做了很多关于登录源的谷歌搜索,试图看看有什么不同,但没有用。我找不到哪里不对劲!请帮忙Php 错误:将数据插入mySQL,php,mysql,Php,Mysql,我不知道我做错了什么,但它没有插入我希望它放入数据库的数据。除了我创建的mysql之外,没有给我任何代码错误,比如“错误插入”之类的东西。我也做了很多关于登录源的谷歌搜索,试图看看有什么不同,但没有用。我找不到哪里不对劲!请帮忙 <?php include_once('connect.php') $username = $_POST['username']; $email = $_POST['email']; $password = $_POST['password']; if (is
<?php
include_once('connect.php')
$username = $_POST['username'];
$email = $_POST['email'];
$password = $_POST['password'];
if (isset($_POST['dalol'])){
test();
}
function test(){
$sql = "INSERT INTO members (username, email, password) VALUES ('".$GLOBALS['username']."','".$GLOBALS['email']."','".$GLOBALS['password']."')";
if (mysql_query($sql)){
echo '<p>Successfully Executed!</p>';
} else {
echo '<p>Failed!</p>';
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Insert Test</title>
</head>
<body>
<form>
Username: <input type="text" name="username"/><br>
Email: <input type="email" name="email"/><br>
Password: <input type="password" name="password"/><br>
<input type='submit' name='dalol'/>
</form>
</body>
插入测试
用户名:
电子邮件:
密码:
由于所有变量都在同一页面上,因此您可以在不使用全局变量的情况下访问变量: 使用以下命令:
$sql = "INSERT INTO members (username, email, password) VALUES ('".$username."','".$email."','".$password."')";
您需要将form标记中的方法指定给,因为默认情况下它将是get type:
在表单标签中进行更改
<form method="POST">
你需要把表单标签的方法作为帖子,因为你是通过邮递来获取数据的,如果你不给出这个方法,那么它会被认为是get方法。
它是因为变量的范围而发生的。试试--/p>test($username, $email, $password);
及
功能测试($uname、$email、$password){
$sql=“在成员(用户名、电子邮件、密码)中插入值(“$uname.”、“$email.”、“.password.”);
if(mysql_查询($sql)){
echo“已成功执行!”;
}否则{
回显“失败!”;
}
}
使用
mysqli
或PDO
而不是mysql
您可以使用全局变量
就是这样:
<?php
function test(){
global $username,$email,$password;
$sql = "INSERT INTO members (username, email, password) VALUES ('".$username."','".$email."','".$password."')";
if (mysql_query($sql)){
echo '<p>Successfully Executed!</p>';
} else {
echo '<p>Failed!</p>';
}
} ?>
您可以在不使用$globalsaddecho mysql\u error()
的情况下进行尝试。注意:mysql\u*
函数已被弃用。如果你写了新代码(尤其是在学习中),不要使用它们。改用mysqli\uu
或PDO。好的,谢谢您的反馈,我们一定会这么做的。但是你认为它没有理由不将数据插入我的数据库吗?更改为
<?php
function test(){
global $username,$email,$password;
$sql = "INSERT INTO members (username, email, password) VALUES ('".$username."','".$email."','".$password."')";
if (mysql_query($sql)){
echo '<p>Successfully Executed!</p>';
} else {
echo '<p>Failed!</p>';
}
} ?>
<?php
$username = mysql_real_escape_string($_POST['username']);
$email = mysql_real_escape_string($_POST['email']);
$password = mysql_real_escape_string($_POST['password']);
?>