0
     <?php
       $query = "SELECT * ";
       $query .= "FROM subjects ";
       $query .= "WHERE id='" . $subject_id ."' ";;
       $query .= "LIMIT 1";
     ?>

この行に問題があります:

     <?php 
       $query .= "WHERE id='" . $subject_id ."' "; 
     ?>

二重引用符のみを使用すると、次のエラーが表示されました:「データベース クエリに失敗しました: SQL 構文にエラーがあります。MySQL サーバーのバージョンに対応するマニュアルを参照して、行の 'LIMIT 1' 付近で使用する正しい構文を確認してください。 1"

では、二重引用符内で単一引用符を使用することの用途は何ですか?

4

2 に答える 2

0

二重引用符内で単一引用符を使用すると、MySQL に文字列を渡す必要もあります。PHP と MySQL はどちらも、文字列区切り文字として一重引用符と二重引用符を使用します。

2 つの行を比較します。

 $query .= "WHERE id='" . $subject_id ."' ";

これは、PHP 文字列 (区切り文字は二重引用符) 内の MySQL 文字列 (区切り文字は単一引用符) です。

 $query .= "WHERE id=" . $subject_id ." ";

今回は MySQL 文字列はなく、PHP 文字列のみです。

id列が数値フィールドであると仮定すると、後者のバリアントを使用します。

于 2013-08-11T10:59:31.663 に答える