mysqli bind_result& fetch返回的列数更少

时间:2010-10-13 12:23:12

标签: php mysqli

我有以下代码:

<?php
    $mysqli = new MySQLi($db_host, $db_user, $db_pass, $db_select);
    $stmt = $mysqli->prepare("SELECT new_title, new_subtitle, new_description FROM news WHERE new_id = ?");
    $stmt->bind_param("i", $selected_id);
    $stmt->execute();
    $stmt->bind_result($news_title, $news_subtitle, $news_description);
    $stmt->fetch();
    $stmt->free_result();
    $stmt->close();
    $mysqli->close();
?>
<?php echo $news_title; ?><br />
<?php echo $news_subtitle; ?><br />
<?php echo $news_description; ?>

问题是$ news_description返回空,尽管db中有一个值! 请注意我之前遇到过这个问题(使用不同的表和字段)但我没有尝试解决它,因为我改变了关于该页面的计划。现在不幸的是,我必须解决这个问题,而且我已经待了3天了,现在还没有去!

谢谢!

2 个答案:

答案 0 :(得分:1)

尝试

<?php
  while ($stmt->fetch()){
  echo $news_title, $news_subtitle, $news_description, '<br />';
  }
?>

这会显示什么吗?

答案 1 :(得分:0)

好的,我在db中将news_description的数据类型从longtext更改为varchar(255)并且它有效!