【发布时间】:2014-06-11 20:14:53
【问题描述】:
我不明白为什么这如此困难。 我有一个 SQL 查询,它产生一列数字结果,即:
23
45
67
54
34
78
56
使用 PHP/MySQL 查询,我想简单地生成这些值的逗号分隔列表,这些值可以在其他地方显示或使用。这是我正在使用的代码
<?php
global $wpdb;
$sql = <<<SQL
SELECT FK_T_L_INCENTIVES_ID FROM lighting_incentives.WAYPOINT_USER_PICKED WHERE WP_RECOMMENDED = 1 AND FK_USER_ID = 31
SQL;
if (!$sql) { // add this check.
die('Invalid query: ' . mysql_error());
}
$resultset = array();
$rebates = $wpdb->get_results( $sql, ARRAY_A );
foreach($rebates as $data) {
$resultset[] = $data;
}
$comma_separated = implode(",", $resultset);
print $comma_separated;
?>
由于某种原因,我不断收到错误
mysql_fetch_array() expects parameter 1 to be resource
任何帮助将不胜感激!
【问题讨论】:
-
$rebates 是否返回错误?
-
仅仅用
if (!$sql)测试字符串的真实性不会告诉你查询的有效性;之后运行。 -
我猜你正在使用 wordpress,如果是这样,那么
$wpdb是 wpdb 类的对象,你不需要调用mysql_fetch_array()只需循环$rebates -
默认情况下,
get_results()返回“行对象的数字索引数组”。 codex.wordpress.org/Class_Reference/wpdb#SELECT_Generic_Results -
感谢您的帮助,您能否进一步解释我如何在不使用
mysql_fetch_array()的情况下循环$rebates?