0

mysql DB で一度に 1 つの変数を検索するのではなく、多数の変数を検索して、最初のクエリ文字列に合わせたい

だから代わりに

$query="SELECT * FROM table1 WHERE state = 'CA' OR state = 'CO' OR state = 'TX'";

私が欲しい

$states = ("CA,CO,TX");
$query="SELECT * FROM table1 WHERE state = $states";

私が試してみました

<?
include("connect.php"); // file to connect to db
$states = array(CA,TX);
$states_str = implode(",", $states);


$query="SELECT * FROM table1 WHERE state IN ($states_str)";

$result=mysql_query ($query);
while($row = mysql_fetch_array($result)) {
echo $row['state'];
}

?>

しかし、私はこのエラーメッセージを受け取ります

 Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in  ... on line 11

これは11行目です

while($row = mysql_fetch_array($result)) {

ただし、このコードを使用すると、結果が得られますが、古い従来のクエリに戻すと機能することがわかります

<?
include("connect.php"); // file to connect to db
$states = array(CA,TX);
$states_str = implode(",", $states);


$query="SELECT * FROM table1 WHERE state = 'CA'";

$result=mysql_query ($query);
while($row = mysql_fetch_array($result)) {
echo $row['state'];
}

?>

しかし、私はどこかで見つけた内破()のことをバイパスしていますが、それは私にとってはうまくいきません

4

3 に答える 3

0
 <?php
 include('../testi.inc');

 $states = array('CA','TX');
 $states_str = implode("','", $states);

 $query = "SELECT * FROM states WHERE state IN ('$states_str')";

 $result=mysqli_query ($db,$query) or die(mysql_error());
 while($row = mysqli_fetch_assoc($result)) {
 echo $row['state'];
 }

 ?>

またはそのようなもの

于 2013-11-07T17:23:00.547 に答える