2013-03-19 54 views
0

我试图找出一种有效的方法来从表中选择一个随机ID的小列表。如何处理MySQL的结果使用IN运算符选择

使用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']; 
+0

您使用哪种服务器端的语言? – 2013-03-19 15:44:31

+0

我使用的是php语言 – DLL 2013-03-19 15:46:20

回答

1

让自己熟悉准备好的陈述。准备你的语句一次,并用n个变量执行n次。这非常有效。 或者itterate了结果:

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

现在,你有你的结果关联数组,你可以用它喜欢:

$red_car1_vin = $tmp[$red_car1]; 
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

谢谢