【发布时间】:2013-01-17 16:56:33
【问题描述】:
我正在处理 PHP 中的 mysqli 库似乎没有返回长文本列的问题。我可以使用控制台和 PHPMyAdmin 获取列的值,但 mysqli 只返回一个空字符串。
这是我正在使用的功能:
public function greetings_get() {
$output = array();
$greetings_query = "SELECT `engagement_data`.`data`, `engagement_users`.`name` FROM `engagements`, `engagement_data`, `engagement_users` WHERE `engagements`.`promo_slug` = 'stod2.hm2013' and `engagements`.`user_fbid` = `engagement_users`.`fbid` and `engagement_data`.`engagement_id` = `engagements`.`id` ORDER BY RAND() LIMIT 0,5";
$greetings = $this->db_connection->prepare($greetings_query);
$greetings->execute();
$greetings->bind_result($gr_data, $gr_name);
while ($greetings->fetch()) {
$output[] = array('message' => $gr_data, 'name' => $gr_name);
}
return $output;
}
在这种情况下,$gr_data 是一个空字符串,而 $gr_name 返回一个值。 ——是不是很奇怪?
是不是我做错了什么?
【问题讨论】:
-
拜托,为了后代的爱;使用明确的
JOINs -
为什么不使用异常或
die()来阅读mysqli 对错误的说明? -
如果使用php.net/manual/en/mysqli-stmt.get-result.php而不是[ugly]绑定呢?
-
问题是,我的mysqli没有返回错误。