我无法从mysql数据库中获取多行数组?

时间:2013-03-18 09:53:17

标签: php mysql arrays select for-loop

我无法从mysql数据库中获取多行数组?我有代码,但是当我回到文本框中时它没有工作或没有显示所有行?

<?php 
if(is_array($_SESSION['pid']))
{
  $pid = join(',',$_SESSION['pid']); 
  $result=mysql_query("SELECT id AS wid FROM mywishlist where pid='$pid'") 
            or die("Id    Problem"."<br/><br/>".mysql_error());
  $results= array();
  $i=0; // add the new line
  while($row=mysql_fetch_array($result)){
    $results[$i] = $row['wid'];
    $i++;
  }
  $results;
}
$max=count($results);
for($j=0; $j<$max; $j++)
{
?>
<input type="text" name="wid[]" value="<?php echo $results[$j]; ?>" />
<?php } ?>

3 个答案:

答案 0 :(得分:2)

join(',',$_SESSION['pid'])让我觉得您想要按pid选择多行。尝试使用IN运算符:

SELECT id AS wid FROM mywishlist
WHERE pid IN ($pid)

答案 1 :(得分:1)

尝试

$results= array();

while($row=mysql_fetch_array($result))
{
    $results[] = $row['wid'];
}

For For Loop as。

$max = count($results);
for($j=0; $j<$max; $j++)
{
?>
    <input type="text" name="wid[]" value="<?php echo $results[$j]; ?>" />
<?php
}
?>

答案 2 :(得分:1)

您的查询错误,请使用此查询

$result=mysql_query("SELECT id AS wid FROM mywishlist where pid IN($pid) ")