このクエリで何が問題になっていますか?Mysqlクエリエラー
$query2=mysql_query("SELECT * FROM $t_medici WHERE `oras` LIKE $orase") or die(mysql_error());
このコードは、引用符で囲む必要があり$orase
Unknown column 'Bucuresti' in 'where clause'
このクエリで何が問題になっていますか?Mysqlクエリエラー
$query2=mysql_query("SELECT * FROM $t_medici WHERE `oras` LIKE $orase") or die(mysql_error());
このコードは、引用符で囲む必要があり$orase
Unknown column 'Bucuresti' in 'where clause'
を返します。
$query2=mysql_query("SELECT * FROM $t_medici WHERE oras LIKE '$orase'") or die(mysql_error());
$orase
を一重引用符で囲みます。 必要に応じて%記号を使用してください。
oras
フィールドが文字列の場合、$orase
がその周りに単一引用符を持っている必要があります。
$orase
が文字列
Bucuresti
が含まれていることである何が起こっ
$query2=mysql_query("SELECT * FROM $t_medici WHERE `oras` LIKE '$orase'") or die(mysql_error());
...WHERE `oras` LIKE Bucuresti
しかし、あなたはまた、SQLのIを防ぐために(それをエスケープする必要があります。このようなnjection):サイドノートで
$query2=mysql_query("SELECT * FROM {$t_medici} WHERE `oras` LIKE '".mysql_real_escape_string($orase)."'") or die(mysql_error());
:
$query2=mysql_query("SELECT * FROM $t_medici WHERE `oras` LIKE '".mysql_real_escape_string($orase)."'") or die(mysql_error());
また、私はここに、二重引用符で囲まれた文字列、つまり{$ t_medici}内の他の変数の周りにカッコをつけたいですあなたがLIKE
のような文字列を使用している場合は、返される行はすべてBucuresti
(または$ oraseが保持するもの)とまったく同じか、前後に(空白も含めて)何もありません。この場合、LIKE
をまったく使用する必要はありません。あなたがBucuresti
を持っている(またはoraseが保持しているものは何でも$)任意の行を一致させたい場合は、「、(例えば「ブカレスト」、「ブカレスト」何とかoras
フィールドに
"SELECT * FROM {$t_medici} WHERE `oras` ='".mysql_real_escape_string($orase)."'"
しかし:あなたにもそうのような=
を使用する場合がありますkdsbks kksd saBucurestie」、など)あなたはそうのような%
を使用する必要があります。
"SELECT * FROM {$t_medici} WHERE `oras` LIKE '%".mysql_real_escape_string($orase)."%'"
すなわちもし$orase
がBucuresti
を保持するならば、%Bucuresti%
。
インターネットからのクエリをコピーして編集するときに非常によく知られているエラーです。上に強調表示されているような単一引用符。
あなたの質問は明確ではありません... – diEcho
SQLインジェクションの脆弱性はこのクエリで間違っています。 –
't_medici'テーブルはどのように見えますか? –