二重引用符と一重引用符---sql文の文字列変数から
1120 ワード
phpでmysqlテーブルを操作するとき、CREATE TABLE
sql文$sql 1="SELECT*FROM
$id=1; $title='北京';
mysqli->query($sql1); mysqli->query($sql2); ?>
結果第1条が正しく表示され、第2条が間違っています
理由は、titleフィールドタイプが文字列であるため、変数は引用符で囲まれる、すなわち$sql 2=「SELECT*FROM
これにより、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' ?>
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文$sql 1="SELECT*FROM
news
WHERE id=$id";sql2 = "SELECT * FROM news
WHERE title=$title"; $id=1; $title='北京';
mysqli->query($sql1); mysqli->query($sql2); ?>
結果第1条が正しく表示され、第2条が間違っています
理由は、titleフィールドタイプが文字列であるため、変数は引用符で囲まれる、すなわち$sql 2=「SELECT*FROM
news
WHERE title='$title'」である.これにより、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' ?>