在用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'
?>