<?php
$query = "SELECT * ";
$query .= "FROM subjects ";
$query .= "WHERE id='" . $subject_id ."' ";;
$query .= "LIMIT 1";
?>
我对此行有疑问:
<?php
$query .= "WHERE id='" . $subject_id ."' ";
?>
当我使用双引号时,它只给了我这个错误: “数据库查询失败:您的SQL语法出错;请查看与您的MySQL服务器版本对应的手册,以便在第1行的'LIMIT 1'附近使用正确的语法”
那么在双引号中使用单引号的用法是什么?
答案 0 :(得分:0)
在双引号中使用单引号是您还需要将字符串传递给MySQL。 PHP和MySQL都使用单引号和双引号作为字符串分隔符。
比较两行:
$query .= "WHERE id='" . $subject_id ."' ";
这是PHP字符串中的MySQL字符串(分隔符是单引号)(分隔符是双引号)。
$query .= "WHERE id=" . $subject_id ." ";
这次没有MySQL字符串,只有PHP字符串。
假设列id
是数字字段,您将使用后一种变体。
答案 1 :(得分:-1)
问题可能只是一个错误,但这一行有2个分号:
$query .= "WHERE id='" . $subject_id ."' ";;
如果你跳过连接,这应该可行
$query .= "WHERE id='$subject_id' ";
在PHP中,在双引号内,单引号是文字的,变量是扩展的。
你编写它的另一种方式也应该有效,但它的代码多于所需的代码。