php程序中sql的Echo数组
我想在wordpress上获取昨天发布的所有ID,当我在phpMyAdmin上尝试SQL查询时,它会返回昨天发布的所有ID。但是,当我尝试从数组中回显ID时,数组中的值是“array”,而不是ID,ID应该是数字。我想知道为什么数组中的ID都变成了单词“array”。这是我写的代码:php程序中sql的Echo数组,php,mysql,wordpress,woocommerce,Php,Mysql,Wordpress,Woocommerce,我想在wordpress上获取昨天发布的所有ID,当我在phpMyAdmin上尝试SQL查询时,它会返回昨天发布的所有ID。但是,当我尝试从数组中回显ID时,数组中的值是“array”,而不是ID,ID应该是数字。我想知道为什么数组中的ID都变成了单词“array”。这是我写的代码: $yesterday = strtotime("-1 days"); $day = (int)date("d", $yesterday); $month = (int)date("n", $yesterday);
$yesterday = strtotime("-1 days");
$day = (int)date("d", $yesterday);
$month = (int)date("n", $yesterday);
$year = (int)date("Y", $yesterday);
$sql = "
SELECT ID
FROM wp_posts
WHERE 1 = 1
AND DAY(post_date) = $day
AND MONTH(post_date) = $month
AND YEAR(post_date) = $year
";
global $wpdb;
$results = $wpdb->get_results($sql, 'ARRAY_N');
foreach ($results as $id) {
echo '<br>' . $id;
}
更新:
我将输出类型更改为ARRAY_A,并在foreach循环之前添加了var_dump,以查看数组内部的内容,这就是我得到的:
使用ARRAY_A获取关联数组,而不是返回数值索引多维数组的ARRAY_N$代码中的结果是多维数组。。
在echo上使用var_dump来查看用于测试的变量内容。根据这一点,您应该在foreach循环中执行以下代码
尝试打印$results并获取相应的对象。wpdb::get_results string$query=null,string$output=object Return array | object | null数据库查询结果我没有使用该代码的输出,打印$results会给我'array'echo$id['id';使用var_dump,我可以看到id存储在另一个更大的数组中的一个数组中,我获得了输出的屏幕截图,并在文章中进行了更新。现在,当我将内部数组的foreach循环放在较大数组的foreach循环中时,它会打印出ID,感谢您对var_dump的检查建议。
foreach ($results as $result) {
echo '<br>' . $result->id;
}