0

我试图找出一种有效的方法来从表中选择一小部分随机 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'];
4

2 回答 2

1

熟悉准备好的陈述。准备一次你的语句,然后用 n 个变量执行 n 次。这是相当有效的。或者迭代你的结果:

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

现在你有一个与你的结果相关的数组,你可以像这样使用它:

$red_car1_vin = $tmp[$red_car1];
于 2013-03-19T15:54:20.403 回答
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

谢谢

于 2013-03-19T15:55:15.273 回答