0

私がやろうとしているのは、それらの列のうち3つが満たされなければならない条件を持つ6つの列を含むテーブルのクエリです

my テーブルの情報 テーブル名 My_table 列 a1、a2、a3、a4、a5、a6

私が試したコードは以下のとおりですが、もちろん機能しません

$myquery = "SELECT * FROM My_table WHERE a2='$variable1' AND a3='$variable2' AND a6='$variable3' ORDER BY a2 ASC";
$myresult = mysql_query($myquery);

私の結果には、上記の条件を満たす行が含まれている必要があります。

これを行う正しい方法は何ですか?前もって感謝します。

4

2 に答える 2

2

ない:

$result = mysql_fetch_array($myresult);

この種のエラーを回避するには、次の命名規則を使用できます。

$my_sql = "SELECT * FROM My_table WHERE a2='$variable1' AND a3='$variable2' AND a6='$variable3' ORDER BY a2 ASC";
$my_query = mysql_query($my_sql);
$my_result = mysql_fetch_array($my_query);
于 2012-10-26T22:29:07.630 に答える
0

これが私がそれを機能させた方法です。私にとってはうまく機能するので、あなたにも役立ちます。

テーブルの 3 つの列を 3 つの変数と比較しており、それらが修正されており、それらの条件を正確にその順序で満たす必要があることがわかっているため、検索している 3 つの列の文字列を大文字で作成してから、私の変数と同じで、それを互いに比較すると、探していた結果が得られました。

ここに私の問題の解決コードがあります:

$myquery = "SELECT a2 a3 a6 FROM My_table WHERE concat(UPPER(a2), UPPER(a3), UPPER(a6)) LIKE concat(UPPER('$variable1'), UPPER('$variable2'), UPPER('$variable3')) ORDER BY a2 ASC";

$myresult = mysql_query($myquery);

それが他の誰かにも役立つことを願っています。

于 2012-10-30T19:18:16.037 に答える