sql INSERT INTO语句不能与msqli_query一起使用,mysqli_query返回true

时间:2016-11-01 19:16:16

标签: php sql mysqli

$username = mysqli_real_escape_string($conn, $_POST['username']);
$password = mysqli_real_escape_string($conn, $_POST['password']);
$confirmPassword = mysqli_real_escape_string($conn, $_POST['confirmpassword']);
$email = mysqli_real_escape_string($conn, $_POST['email']);

$insertSQL = "INSERT INTO 'user' ('ID', 'Username', 'Password', 'Email') VALUES('".NULL."', '".$username."', '".$password."', '".$email."')";
if(mysqli_query($conn, $insertSQL));
{
    echo "<script>window.open('../index.php', '_self')</script>";
}

mysqli_query在if语句中返回true,但没有任何内容添加到数据库中。我使用mysqli连接到我的数据库:

$dbservername = "my_Server_Name";
$dbusername = "my_Username";
$dbpassword = "my_Password";
$dbname = "my_DB";

// Create connection
$conn = new mysqli($dbservername, $dbusername, $dbpassword, $dbname);
// Check connection
if ($conn->connect_error) 
{
    die("Connection failed: " . $conn->connect_error);
}

我认为连接很好,因为在从数据库中提取表来检查信息时,它在其他方案中有效,但是当我尝试将VALUES添加到数据库中时,似乎无法正常工作。

这也是数据库:

CREATE TABLE `user` (
    `ID` int(10) UNSIGNED NOT NULL,
    `Username` varchar(31) NOT NULL,
    `Password` varchar(31) NOT NULL,
    `Email` varchar(63) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO `user` (`ID`, `Username`, `Password`, `Email`) VALUES
(1, 'username', 'password', 'exampleEmail@example.com');

0 个答案:

没有答案