Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php-单引号与双引号的混合使用_Php_Double_Quotes_Mysql Escape String - Fatal编程技术网

php-单引号与双引号的混合使用

php-单引号与双引号的混合使用,php,double,quotes,mysql-escape-string,Php,Double,Quotes,Mysql Escape String,可能只是问题中的一个错误,但此行有两个分号: <?php $query .= "WHERE id='" . $subject_id ."' "; ?> 如果您跳过连接,这应该可以工作 $query .= "WHERE id='" . $subject_id ."' ";; 在PHP中,在双引号中,单引号是文字,变量是展开的 您编写它的另一种方式也应该可以,但它的代码比需要的多。在双引号中使用单引号是因为您还需要将字符串传递给MySQL。PHP

可能只是问题中的一个错误,但此行有两个分号:

     <?php 
       $query .= "WHERE id='" . $subject_id ."' "; 
     ?>
如果您跳过连接,这应该可以工作

$query .= "WHERE id='" . $subject_id ."' ";;
在PHP中,在双引号中,单引号是文字,变量是展开的


您编写它的另一种方式也应该可以,但它的代码比需要的多。

在双引号中使用单引号是因为您还需要将字符串传递给MySQL。PHP和MySQL都使用单引号和双引号作为字符串分隔符

比较两行:

$query .= "WHERE id='$subject_id' ";
这是PHP字符串中的MySQL字符串(分隔符是单引号)(分隔符是双引号)

这次没有MySQL字符串,只有一个PHP字符串


假设列
id
是一个数字字段,您将使用后一个变量

你的问题看起来不错。请在执行时打印
$query
字符串,并将其张贴在此处。尝试回显您的$query并用结果更新您的问题。我第一次编写该字符串时出现了错误,经过多次搜索,我找到了另一种方法,该方法有效,但我不知道其有效的原因分号是笔误。我必须粘贴两次。而且这也不是错误发生的原因。发生错误的原因是单引号和双引号。我想知道为什么?如果列
id
是数字,那么
$query.=“其中id=$subject\u id”应该有效。如果你能解释你发现这个答案有什么错,那么否决票会更有帮助。否决票是什么?这就是问题所在,尽管它不起作用。没有单引号是不行的。这就是我想知道的!!id已经是一个数字字段。。但正如我所认为的那样,它不应该是一串。它应该没有引号!对,对。您需要的唯一引号是PHP字符串(包含SQL查询)的引号?($query.=“WHERE id=”.$subject_id.“;)
$query .= "WHERE id='$subject_id' ";
 $query .= "WHERE id='" . $subject_id ."' ";
 $query .= "WHERE id=" . $subject_id ." ";