gpt4 book ai didi

php - SQL 插入 MySQL 不起作用

转载 作者:行者123 更新时间:2023-11-29 11:12:04 24 4
gpt4 key购买 nike

我目前正在尝试将用户名、密码插入数据库,并检查用户名是否已存在。

问题是 SQL (select) 语法不起作用,(insert) 语法也不起作用。我在论坛和 Stackoverflow 上检查了几个小时,我当前的代码如下。

可能是什么问题?

谢谢,吉米。

 <?php
$servername = "localhost";
$username = "name";
$password = "pw";
$dbname = "dbaname";

$mysqli = new mysqli($servername, $username, $password, $dbname);

if ((isset ($_POST["identity"])) && (isset ($_POST["pin"])) && (isset ($_POST["token"])))
{

$identity = htmlspecialchars($_POST['identity'], ENT_QUOTES, "ISO-8859-1");
$pin = htmlspecialchars($_POST['pin'], ENT_QUOTES, "ISO-8859-1");
$token = htmlspecialchars($_POST['token'], ENT_QUOTES, "ISO-8859-1");

echo "$identity";
if($token == "xyz13D;A##:!#")
{


$result = $mysqli->query("SELECT `identity` FROM Users WHERE `identity` = '" . $identity . "'");
if($result->num_rows == 0)
{
echo "successCreat";

// Perform queries
mysqli_query($mysqli,"SELECT * FROM Users");

mysqli_query($mysqli,"INSERT INTO Users (identity,pin,userActivity, identityCreated) VALUES ('$identity', '$pin',1,now())");
}
else
{
echo "failureCreate";
}

}
else
{
echo"Wrong Key";
}
}
$mysqli->close();
?>

最佳答案

假设identity是主键,那么您可以在执行INSERT查询后检查错误标志以查看是否发生错误。

mysqli_query( $mysqli, "INSERT INTO ... " ); //< ... Represents query
if (mysqli_error( $mysqli )) {
echo "Failure";
}
else {
echo "Success";
}

此外,您应该按照注释中的说明正确转义输入。此外,您应该使用 mysqli_connect_error 检查连接尝试是否成功。

最后,您的 SQL suntax 中可能存在问题,mysqli_error 也会捕获该问题。最后一种可能性是 POST 数据未正确设置并且代码被完全忽略。

关于php - SQL 插入 MySQL 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40392225/

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