gpt4 book ai didi

php - mySQL 连接无法正常工作

转载 作者:行者123 更新时间:2023-11-29 06:00:55 25 4
gpt4 key购买 nike

我是 SQL 的新手,我正在尝试编写代码以从消息表单中插入信息。这是 SQL 代码:

$con = mysqli_connect($hostname,$username,$password,$db);

// Check connection
if (mysqli_connect_error()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$name = mysqli_real_escape_string($con, $_POST['name']);
$email = mysqli_real_escape_string($con, $_POST['email']);
$message = mysqli_real_escape_string($con, $_POST['message']);

$sql = "INSERT INTO messages (name, email, message) VALUES ( '$name' , '$email' , '$message' )";


if (!mysqli_query($sql)) {
die ('Error: ' . mysqli_error());
}
else {
echo "<html><script language='JavaScript'> alert('Thank you for your submission.'),window.location = 'home'</script></html>";
}

此代码返回“错误:”,我将其解释为认为存在错误,但实际上没有任何错误。 mysqli_connect 中的连接变量都是正确的,但我不确定我是否正确使用了 mysqli_real_escape_string 甚至 $sql 语句,因为这段代码也没有向我的数据库中插入任何内容。提前致谢。

最佳答案

根据 mysqli_query()文档,如果您使用过程表示法,则需要包含您的 mysqli 链接:

mixed mysqli_query ( mysqli $link , string $query [, int $resultmode = MYSQLI_STORE_RESULT ] )

这表明您需要将 $con 传递给 mysqli_query() ,就像您在其他函数调用中所做的那样:

mysqli_query($con, $sql)

此外,请查找并阅读有关参数化的内容,因为您的代码不应该在实时站点上使用,因为您容易受到 SQL 注入(inject)的攻击。请花时间阅读this并学习如何预防。

关于php - mySQL 连接无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45040568/

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