MYSQL只返回最后一行?

时间:2014-06-01 10:20:20

标签: php mysql

我试图从名为$title的mysql表中获取所有pages

但我不明白为什么我只能使用我的代码来获取最后一个:

    if( ! $stmt = $db_conx->prepare("SELECT id, title FROM pages") ) {
  die( $db_conx->error );
}

$stmt->bind_param('i', $id);
if ( ! $stmt->execute() ) {
  die( $stmt->error );
}
$stmt->bind_result($id, $title);
$stmt->store_result();

while($stmt->fetch()) {
    $value[] = array('id'=>$id, 'title'=>$title);
}

echo $title;

我的代码中是否有任何遗漏?

我对此感到非常困惑。任何帮助,将不胜感激。

1 个答案:

答案 0 :(得分:0)

您的代码似乎回显了变量$title,但您实际上是将查询结果附加到$value

如果您更换

echo $title;

print_r($value);

我很确定你会得到你想要的信息。

您的代码会将元素附加到数组中。 Print_r是一种检查数组(或其他)中的内容的快速讨厌方法,但您可能希望使用像foreach这样的控制结构以有意义的方式完成结果:

foreach($value as $val)
{
    echo "ID: ".$val[0]." - Title: ".$val[1]."<br>\r\n";
}