雙引號和單引號----由sql語句中的字符串變量而來

在用php操作mysql 表的時候,遇到一個問題
表結(jié)構(gòu):
CREATE TABLE news (
id int(10) unsigned NOT NULL AUTO_INCREMENT,
title varchar(50) DEFAULT NULL,
content text,
add_time int(11) DEFAULT NULL,
PRIMARY KEY (id)
);

寫了條sql語句
<?php
$sql1 = "SELECT * FROM news WHERE id=$id";
$sql2 = "SELECT * FROM news WHERE title=$title";

$id=1;
$title ='北京';

mysqli->query($sql1);
mysqli->query($sql2);
?>

結(jié)果第一條可以正確顯示,第二條卻出錯

原因在于title字段類型是字符串,所以其中的變量要用引號引起來
也就是 $sql2 = "SELECT * FROM news WHERE title='$title'";

由此舉例php中單雙引號的使用情況如下:
<?php

$title = '北京';
echo '$title'; // $title

$sql = "title='$title'";
echo $sql; // title='北京' 【不是 title='$title'】

$sql2 = 'title=$title';
echo $sql2; // title=$title

$sql3 = 'title="$title"';
echo $sql3; // title="$title"

$sql4 = "title='" . '$title' . "'";
echo $sql4; // title='$title'
?>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。