gpt4 book ai didi

mysql - wpdb get_results 在打印表的列时没有输出

转载 作者:行者123 更新时间:2023-11-29 20:57:09 25 4
gpt4 key购买 nike

问题:

使用 Wpdb 尝试从表中获取列。我尝试过的代码是:

<?php
global $wpdb;
$sqlq2 = 'SELECT fk_id FROM `wp_productssku_mapping`';
$result = $wpdb->get_results($sqlq2);
foreach($result as $row)
{
print_r($row->fk_id);
}
?>

这会导致点击时出现空白页面

xyz.com/wp-content/themes/sometheme/name.php

在错误日志中:它是空白的(没有与此相关的错误。)

可能的问题是什么?

更新

enter image description here

我的表中有以下数据,我需要一一获取它并在curl命令中使用它。

最佳答案

快速阅读 wpdb class reference 后,我让您的上述场景与以下代码片段一起使用:

    global $wpdb;        
$users = $wpdb->get_results( 'SELECT * FROM wp_users', ARRAY_A );

foreach ($users as $user) {
print_r($user);
}

我相信它对您不起作用的原因是您未能指定输出类型,请阅读上面的链接,这些是您的选项:

One of four pre-defined constants. Defaults to OBJECT. See SELECT a Row and its examples for more information.
OBJECT - result will be output as a numerically indexed array of row objects.
OBJECT_K - result will be output as an associative array of row objects, using first column's values as keys (duplicates will be discarded).
ARRAY_A - result will be output as a numerically indexed array of associative arrays, using column names as keys.
ARRAY_N - result will be output as a numerically indexed array of numerically indexed arrays.

我个人更喜欢使用关联数组,但您需要对象方法,然后将 OBJECT 指定为 get_results 中的第二个参数,如下所示:

$users = $wpdb->get_results( 'SELECT * FROM wp_users', OBJECT );

应该会很顺利。

使用 OBJECT 完成以下解决方案。只需交换变量名称和表名称即可。

    global $wpdb;        
$users = $wpdb->get_results( 'SELECT * FROM wp_users', OBJECT );

foreach ($users as $user) {
print_r($user->ID);
}

我还刚刚注意到你试图直接执行你的 php 文件,这在 WordPress 中是一个很大的禁忌。你最好针对像 admin_post 这样的 WordPress 钩子(Hook)创建一个函数回调。很可能您从未在 WordPress 实例中实际运行代码,因此 $wpdb 很可能为 null。

阅读以下内容:https://codex.wordpress.org/Plugin_API/Action_Reference/admin_post_(action)关于如何回调挂机。您可以使用 admin_post 创建 post 和 get 请求。

关于mysql - wpdb get_results 在打印表的列时没有输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37536646/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com