gpt4 book ai didi

PHP MySQLi INSERT 不工作,没有错误

转载 作者:可可西里 更新时间:2023-11-01 13:35:27 25 4
gpt4 key购买 nike

不同于this question ,但类似的是,我在向数据库中添加信息时不会收到错误消息。

$sql = "INSERT INTO 'nlcc_ver1'.'tUsers' ('userID', 'userName', 'userPassword', 'userHash',
'user_first_name', 'user_last_name', 'user_corps', 'is_admin', 'is_trg', 'is_sup', 'is_co')
VALUES (NULL, '" . $userName . "', '" . $hash . "', '" . $salt . "', '" . $f_name . "', '" .
$l_name . "', '" . $corps . "', '" . $admin . "', '" . $trg . "', '" . $sup . "', '" . $co . "')";
$hostname_Database = "localhost";
$database_Database = "nlcc_ver1";
$username_Database = "root";
$password_Database = "";
$mysqli = new mysqli($hostname_Database, $username_Database, $password_Database, $database_Database);
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$result = $mysqli_query($mysqli, $sql);
echo "Query run. Inserted UserID " . mysqli_insert_id($mysqli) . "<br />";

插入换行符以避免横向滚动...它在网页上说 mysqli_insert_id($mysqli) 是 0,并且没有向我的数据库中的表添加任何内容。我没有看到连接到数据库的错误出现,MySQL 正在我的服务器上运行,并且 phpinfo() 显示加载了 MySQL 和 MySQLI 扩展。这只是一台开发机器,所以不用担心安全性(即没有密码)。我试过用谷歌搜索这个问题,但没有找到太多。我不知道使用 -> 进行面向对象的 PHP 编程,我习惯使用 _。现在还支持这种方法吗?

最佳答案

您混合了过程式和面向对象的 MySQLi 风格。这导致您尝试使用像 mysqli_query($mysqli) 这样的函数,而不是像 $mysqli->query() 这样的成员函数。您的 $mysqli 是一个对象,而不是资源句柄。

而且,您没有对查询执行任何错误检查。如果是,您会发现您错误地使用了单引号而不是反引号来分隔表和字段名称。

$sql = "INSERT INTO `nlcc_ver1`.`tUsers`
(`userID`, `userName`, `userPassword`, `userHash`,
`user_first_name`, `user_last_name`, `user_corps`,
`is_admin`, `is_trg`, `is_sup`, `is_co`)
VALUES (NULL, '" . $userName . "', '" . $hash . "', '" . $salt . "', '" .
$f_name . "', '" . $l_name . "', '" . $corps . "', '" . $admin .
"', '" . $trg . "', '" . $sup . "', '" . $co . "')";

$hostname_Database = "localhost";
$database_Database = "nlcc_ver1";
$username_Database = "root";
$password_Database = "";

$mysqli = new mysqli($hostname_Database, $username_Database, $password_Database, $database_Database);
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

$result = $mysqli->query($sql);
if (!$result) {
printf("%s\n", $mysqli->error);
exit();
}

echo "Query run. Inserted UserID " . $mysqli->insert_id . "<br />";

我强烈建议使用 the manual作为您的引用。当您使用过程式或面向对象风格的 MySQLi 时,如何使用这些函数是非常清楚的。

关于PHP MySQLi INSERT 不工作,没有错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6811070/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com