如何使用IN运算符处理MySQL Select的结果

时间:2013-03-19 15:40:19

标签: mysql

我正试图找出一种从表格中选择一小部分随机ID的有效方法。

使用IN运算符似乎是正确的选择,但我不明白如何以我想要的方式使用结果。查询完成后,如何使用结果分配给特定变量?或者有没有办法将值作为查询的一部分进行分配?

$red_car1=1001;
$blue_car2=200;
$green_car3=56;


$query_cars= sprintf("SELECT * FROM cars WHERE id IN (%s, %s, %s)", $red_car1, $blue_car4, $green_car3);
$Cars1 = mysql_query($query_cars, $db) or die(mysql_error());

$red_car1_vin = $row_Cars1['vin'];
$blue_car1_vin = $row_Cars1['vin'];
$green_car1_vin = $row_Cars1['vin'];

2 个答案:

答案 0 :(得分:1)

熟悉准备好的陈述。准备一次语句并用n个变量执行n次。它效率很高。 或者仔细考虑你的结果:

$tmp = array();
while($row_Cars1 = mysql_fetch_array($Cars1))
{
    $tmp[$row_Cars1['id']] = $row_Cars1;    
}

现在您有一个包含结果的关联数组,您可以像以下一样使用它:

$red_car1_vin = $tmp[$red_car1];

答案 1 :(得分:0)

如果您的服务器端语言是PHP,那么您的代码应该像 -

     $con=mysqli_connect("your host","user","password","your db");

     $red_car1=1001;
        $blue_car2=200;
        $green_car3=56;


        $query_cars= "SELECT * FROM cars WHERE id 
        IN (".$red_car1.",".$blue_car2.",".$green_car3.")";
        $Cars1 = mysqli_query($con,$query_cars) or die(mysql_error());

    while($row = mysqli_fetch_array($Cars1))
      {
      echo $row['<<Your Desired field name1>>'] . " " . $row['<<Your Desired field name2>>'];// and so on
      echo "<br />";
      }

mysqli_close($con);

此外,您可以在此处获得更多有用的信息 - http://www.w3schools.com/php/php_mysql_select.asp

由于