2014-12-07 54 views
1

我需要从MYSQL表中选择数据。我需要SELECT的数据由另一列表中的记录定义。在代码中,这些记录由$ Array定义。 Iam试图使用此代码:使用PHP循环MYSQL SELECT

$Array=Array("red","green","blue","white"); 

$storeArray= Array(); 

for ($i = 0; $i < sizeof($Array); $i++) 
    { 
    $storeArray[$i] = mysql_query("SELECT name FROM $inputuser WHERE id="$Array[$i]""); 

    while($row = mysql_fetch_array($storeArray, MYSQL_ASSOC)) 
      { 
      $storeArray[$i] = $row['name']; 
      } 
    } 

但它不工作。它说:“解析错误:语法错误,意外'$ Array'(T_VARIABLE)”,它指向“$ storeArray [$ i] = mysql_query(”SELECT name FROM ...“)

我不知道在哪里是问题还是有更好的解决办法?

+1

围绕字符串的引号。或者更好的方法:使用* Prepared Statements *。另外,你的'id'列是否真的包含颜色名称? – 2014-12-07 17:20:42

回答

3

您应该使用id='$Array[$i]'而不是id="$Array[$i]"

$Array=Array("red","green","blue","white"); 
$storeArray= Array(); 
for ($i = 0; $i < sizeof($Array); $i++) 
{ 
    $storeArray[$i] = mysql_query("SELECT name FROM $inputuser WHERE id='$Array[$i]'"); 
                     /*^^^^^^^^^^^^*/ 
    while($row = mysql_fetch_array($storeArray[$i], MYSQL_ASSOC)) 
    { 
     $storeArray[$i] = $row['name']; 
    } 
} 

也建议你使用mysqliPDO,而不是mysql

+0

除了他需要使用'mysql_fetch_array($ storeArray [$ i],MYSQL_ASSOC)'作为$ storeArray已经成为二维数组... – Riad 2014-12-07 17:26:35

+0

Thx,但它仍然没有工作,它说“警告:mysql_fetch_array()期望参数1到($ i = 0; $ i <$ actual_movies_count; $ i ++) \t { \t $ storeArray_tips [$ i] = mysql_query(“SELECT rating_estimate FROM $ inputuser WHERE标题= '$ storeArray [$ i]于'“); \t而($行= mysql_fetch_array($ storeArray_tips,MYSQL_ASSOC)) \t \t { \t $ storeArray_tips [$ I] = $行['rating_estimate ']; \t} \t}' – 2014-12-07 17:31:32

+2

现在的错误是什么? ..besides ...'$ storeArray [$ i] = $ row ['name'];'...?这将覆盖$ stroArray [$ i]的值.. – Riad 2014-12-07 17:33:21

0
$Array=Array("red","green","blue","white"); 
$storeArray= Array(); 
for ($i = 0; $i < sizeof($Array); $i++) { 
    $storeArray[$i] = mysql_query("SELECT name FROM $inputuser WHERE id='".$Array[$i]."'"); 
    while($row = mysql_fetch_array($storeArray, MYSQL_ASSOC)) { 
     $storeArray[$i] = $row['name']; 
    } 
} 
+0

thx,但仍然存在一些问题,我尝试了一些建议,并根据变化提出了一个新问题 – 2014-12-07 19:59:33