1

テーブルから情報を取得しようとしていますが、次のように呼び出すと、クエリは空を返します。

$varchar_string = mysqli_real_escape_string($link, $_GET['code']); //the code is b5KlL4znM in this scenario

mysqli_query($link, "SELECT * FROM table WHERE code = $varchar_string");

文字列は英数字で、ユーザーによって送信されるため、クエリを実行する前にエスケープしました。

このクエリを実行すると

mysqli_query($link, "SELECT * FROM table WHERE code = 'b5KlL4znM'");

正常に動作しますが、それほど動的ではありません。

この問題を検索してもあまり結果が得られず、関連性のあると思われるものの中から答えを見つけることができませんでした。

4

2 に答える 2

4

おそらく、文字列を引用符で囲む必要がありますか?

mysqli_query($link, "SELECT * FROM table WHERE code = '$varchar_string'");
于 2012-07-11T17:17:53.427 に答える
3

変数を引用符で囲む必要があります。

mysqli_query($link, "SELECT * FROM table WHERE code = '$varchar_string'");
于 2012-07-11T17:17:56.437 に答える