gpt4 book ai didi

php - 查询不起作用

转载 作者:行者123 更新时间:2023-11-29 15:03:52 25 4
gpt4 key购买 nike

下面的简单查询不起作用。知道为什么吗?当我回显这三个变量时,会返回正确的值,所以我知道我有变量。

提前致谢,

约翰

$comment = $_POST['comment'];
$uid = $_POST['uid'];
$subid = $_POST['submissionid'];


echo $comment;
echo $uid;
echo $subid;

mysql_connect("mysqlv12", "username", "password") or die(mysql_error());
mysql_select_db("database") or die(mysql_error());


$query = sprintf("INSERT INTO comment VALUES (NULL, '%s', '%s', '%s', NULL, NULL)", $uid, $subid, $comment);

mysql_query($query);

最佳答案

该查询表面上看起来不错。您要插入的值是什么?其中有没有单引号?我猜评论字段是最有可能的罪魁祸首。就目前而言,您的代码完全容易受到 SQL 注入(inject)的攻击。为了最低限度的安全性,您应该按如下方式替换所有变量分配:

$comment = $_POST['comment'];

变成了

$comment = mysql_real_escape_string($_POST['comment']);

这也会顺便处理可能导致查询失败的任何单引号。此外,您还需要检查查询是否成功:

mysql_query($query) or die (mysql_error());

它会立即告诉您是否有任何问题(sql语法错误、数据库服务器死亡、连接失败等...)

关于php - 查询不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2570173/

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