MySQLi查询不起作用?一切似乎都是正确的

时间:2013-08-08 15:15:23

标签: php mysql mysqli

我不知道为什么以下代码不起作用。所有变量都已定义,但它不起作用。

include('Config.php');
$QID = $_GET['NewAnswer'];
$g_q_info = $con->query("SELECT * FROM questions WHERE ID='$QID'");
$q_i = $g_q_info->fetch_object();
require_once 'htmlpurifier/library/HTMLPurifier.auto.php';
$config = HTMLPurifier_Config::createDefault();
$purifier = new HTMLPurifier($config);
$Content = $_POST['editor1'];
$Content = $purifier->purify($Content);
$Title = htmlspecialchars(strip_tags($_POST['title']));
$QuestionID = $q_i->ID;
$con->query("INSERT INTO answers (QuestionID,Title,Content) VALUES ($QuestionID,$Title,$Contents)");

1 个答案:

答案 0 :(得分:0)

您忘记引用要插入的值,而您的查询只是假设成功。除了代码中的SQL injection attack漏洞之外。绝对最低限度的修复应该是这样的:

$con->query("INSERT INTO a[..snip..]) VALUES ('$QuestionID','$Title','$Contents')");
                                              ^--         ^-^-- etc..

请注意其他引号。但这并不能解决更大的注射问题。