花了最后两个小时试图让这个$wpdb->get_results以相同的方式返回数组,而 ($row = mysql_fetch_array($result)) 会。 我已经尝试了一切,get_col,get_row等等...浏览了WP法典并尝试了他们所有的示例,实际上没有任何效果。 所有内容都返回数组 ( ) 或 NULL。 我在这里失去理智,任何帮助都非常感谢。
我最初在PDO中编写了这个插件,然后意识到wordpress不支持它。 我不是wpdb sql的粉丝。 在这里;
$query = $wpdb->get_results("SELECT * FROM admin WHERE user_id = '$userid'");
foreach ($query as $row) {
echo $row->date;
}
好吧,
你一定在 http://codex.wordpress.org/Class_Reference/wpdb 中穿越了这个:
三个预定义常量之一。默认为对象。
对象 - 结果将作为对象输出。
ARRAY_A - 结果将输出为关联数组。
ARRAY_N - 结果将输出为数字索引数组。
您可以按如下方式编写代码:
$result_array = $wpdb->get_results("SELECT * FROM admin WHERE user_id = '$userid'", ARRAY_A);
foreach( $result_array as $key -> $value ) {
echo "Key = " . $key . "<br />"; // outputs field name
echo "Value = " . $value . "<br />"; // outputs the value
}
不要忘记使用$wpdb->prepare()
来保存所有输入 http://codex.wordpress.org/Class_Reference/wpdb#Protect_Queries_Against_SQL_Injection_Attacks
首先要在
插件中使用wpdb
类,您需要在开始或wp-load.php
中包含wp-blog-header.php
然后你需要将 wpdb 定义为全局才能访问它的所有函数
global $wpdb;
$query = $wpdb->get_results("SELECT * FROM admin WHERE user_id = '$userid'");
确保为上述文件包含正确的路径
如果要将结果作为数组获取,则需要将查询中的第二个参数作为ARRAY_A or ARRAY_N
$query = $wpdb->get_results("SELECT * FROM admin WHERE user_id = '$userid'",ARRAY_N);
默认情况下,它设置为返回OBJECT