我正在做三个几乎相同的MySQL查询,我正在寻找创建一个函数来处理这三个变体,而不是重复整个代码块三次。我试图传递给函数的变量是包含查询结果的数组。
我的PHP代码,超简化:
function list_comments( $query ) {
echo '<p>' . $query->Comment . '</p>';
}
$theQuery = $wpdb->get_results("SELECT * FROM mytable WHERE Ny = 1 ORDER BY UserID, Date DESC");
list_comments( $theQuery );
我已经尝试使用变量变量在函数内部重新创建变量名,我尝试返回结果而不是回显它,我尝试使用动态方法在函数内创建变量名; ${$query}
。但是一切都给了我相同的结果:
警告:http_build_query():参数1应为Array或 宾语。给出的值不正确 C:*** \ WWW \ WP_的 * \可湿性粉剂内容\主题* \包括\管理员_ *** PHP 在第41行
作为第41行引用的行将是上面的行function list_comments( $query ) {
。
有没有办法从函数中访问$theQuery
- 数组,或者在评估函数之前将值返回到函数的调用位置?
答案 0 :(得分:0)
您定义的方法http_build_query中的参数应该是一种类型的数组或对象,显然它正在接收除此之外的其他内容。为了修复错误,你应该发布你调用方法的代码片段(C: \ www \ wp _ \ wp-content \ themes * \ includes \ admin_ *第41行 .php)所以我们可以看一下。
另请注意,您的方法list_comments()
参数错误,其中theQuery
应为$theQuery