$query = mysqli_query($link, "SELECT *
FROM table
WHERE column=" . row_data['column'] . " ") or die(mysqli_error($link));
有人能告诉我语法有什么问题吗?老实说,我会在一小时内解决这个问题,但到目前为止我无法弄明白。我认为这是在语法上可能我的quoutes被置于错误的位置?
row_data['column']
等于value a
如果我将其硬编码,则输出会产生结果。
$query = mysqli_query($link, "SELECT *
FROM table
WHERE column='value a'") or die(mysqli_error($link));
错误
Unknown column 'value a' in 'where clause'
答案 0 :(得分:2)
你只想念单引号:
$query = mysqli_query($link, "SELECT *
FROM table
WHERE column='" . row_data['column'] . "' ") or die(mysqli_error($link));
在第二个示例中,您在第一个示例中放置了单引号。
我猜您的数据来自另一个查询,因此您可以考虑加入以减少查询次数。
如果数据来自用户输入,您应该查看准备好的语句。如果您将用户输入直接放入查询中,则可以进行sql注入。
最后但并非最不重要的是,如果你还在学习,请查看pdo而不是mysqli