3

我不能从 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 } ?>
4

3 回答 3

2

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

$result=mysql_query("SELECT id AS wid FROM mywishlist where pid IN($pid) ") 
于 2013-03-18T09:57:51.170 回答
2

这行join(',',$_SESSION['pid'])让我觉得你想通过他们的pid. 尝试使用IN运算符:

SELECT id AS wid FROM mywishlist
WHERE pid IN ($pid)
于 2013-03-18T09:56:34.227 回答
1

尝试

$results= array();

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

和 For 循环一样。

$max = count($results);
for($j=0; $j<$max; $j++)
{
?>
    <input type="text" name="wid[]" value="<?php echo $results[$j]; ?>" />
<?php
}
?>
于 2013-03-18T09:56:55.223 回答