这个SQL代码有什么问题吗?我从教程中得到它,但它返回以下错误消息
数据库查询失败:您的SQL语法中有错误; 检查与MySQL服务器版本对应的手册,以便在第1行的"LIMIT 1"附近使用正确的语法
function get_subject_by_id($subject_id) {
global $connection;
$query = "SELECT * ";
$query .= "FROM subjects ";
$query .= "WHERE id=" . $subject_id ." ";
$query .= "LIMIT 1";
$result_set = mysql_query($query, $connection);
confirm_query($result_set);
// if no rows are returned, fetch array will return false
if ($subject = mysql_fetch_array($result_set)){
return $subject;
} else {
return NULL;
}
}
Run Code Online (Sandbox Code Playgroud)
最好回应查询并查看它的外观.
可能不$subject_id包含任何值或无效值.如果$subject_id是一个字符串,你应该逃避它(使用mysql_real_escape_string) ,并把它放在引号内的查询.
[编辑]
你知道你也可以输入字符串,对吧?
// More readable
$query = "
SELECT *
FROM subjects
WHERE id = $subject_id
LIMIT 1";
Run Code Online (Sandbox Code Playgroud)