$sql="select * from news where id = '".$_GET['id']."'"
$rs=mysql_fetch_array($query); $sql="select * from news where id = $_GET['id']"; と書くとなぜ上記のクエリ文が間違ってしまうのでしょうか
初心者の方に、 の違いを教えてください。一重引用符と二重引用符、なぜ上記のように書く必要があるのかわかりません。ありがとうございます。
ディスカッションへの返信 (解決策)
これは正しいはずです。どのようなエラーが表示されますか? ?
{} を追加できます
$sql="select * from news where id = {$_GET['id']}";
$sql="select * from news where id = $_GET['id']";
これは正しいはずです。どのようなエラーが表示されますか? ?
エラー: 解析エラー: 構文エラー、予期しない '' (T_ENCAPSED_AND_WHITESPACE)、C:Program FilesApache Software FoundationApache2.2htdocsjustedit .php の 5 行目に識別子 (T_STRING) または変数 (T_VARIABLE) または数値 (T_NUM_STRING) が必要です
これはPHP の規約では、その理由はありません
連想配列のメンバーが二重引用符で囲まれている場合、
"$_GET[id]"
"{$_GET['id']}"
と記述する必要があります。 PHP の規約では、その理由はありません
連想配列のメンバーが二重引用符で囲まれている場合、
"$_GET[id]"
"{$_GET['id']}"
と記述する必要があります。フォーマットに従ってください 2 エラーは報告されません。
$nc=$_POST[nc];
$sql=mysql_query("select * from tb_user where name='".$nc."'",$conn);
$nc は $_POST を受け入れる通常の変数です[ nc ]、では、他の人が「select * from tb_user where name='".$nc."'」と書いているのを見て、なぜまだこのように書くのですか
echo $sql; すべてが明らかになります
なぜわかりますか他の人は今でもこのように「select * from tb_user where name='".$nc."'」と書いています
もちろん、それは彼が持っている可能性もあります他の人の誤った情報を聞いて、
"select * from tb_user where name='$nc'" アドレス指定が必要で、結果として効率が低下します
誰もが知っているように、"select * from tb_user where name='$nc"" と考えます。 『
宛名書き工程もあります 毛織物?
ああ、そのように書かれていたのかと思いました。PHP の一重引用符と二重引用符は、C や C++ のものと混同されています。文字列と単一の文字。皆さん、ありがとうございました!