我试图通过SQL查询从数据库中获取数据到WordPress插件。但是,即使没有显示任何错误,循环也不工作。我在网上试了很多东西,但都不管用。下面是我的代码:
查询代码:
<?php
function vssp_settings() {
global $wpdb;
$result = $wpdb->get_results ( "SELECT * FROM students_list" );
foreach( $result as $print) {
?>
字符串
显示查询结果:
<td><?php echo $print["first_name"];?></td>
<td><?php echo $print["last_name"];?></td>
<td><?php echo $print["email"];?></td>
<td><?php echo $print["phone"];?></td>
<td><?php echo $print["address"];?></td>
<?php
}
}
?>
型
3条答案
按热度按时间p4tfgftt1#
public void run($run);
并将foreach Package 在类似
if ($result) {...}
的条件中参见get_results/
试试$print->...而不是$print["…"]
$输出
任何阵列_A|阵列_N|对象|OBJECT_K常量。使用前三个中的一个,返回一个按SQL结果行号从0开始索引的行数组。每行分别是一个关联数组(column => value,...)、一个数字索引数组(0 => value,...)、或一个对象(->column = value)。
guykilcj2#
结果作为对象返回,并且您使用关联数组进行打印,因此它将给予错误。此外,您没有将数据存储在循环内的任何变量中,也没有在函数中返回任何值。你可以在你的程序中使用下面的代码:
字符串
}
4dc9hkyq3#
在WordPress中,get_results函数默认返回stdClass对象数组,而不是关联数组。因此,您需要使用箭头操作符(->)将元素作为对象属性访问,而不是使用方括号([])作为数组索引访问。
确保表名('students_list')正确且实际存在于数据库中。如果表名不同或依赖于WordPress前缀,您应该使用$wpdb->前缀。'your_table_name'。
作为预防措施,在继续foreach循环之前,请务必检查
$result
是否为空,以避免潜在问题。要更详细地了解潜在错误,请考虑在WordPress中启用调试。这可以通过在wp_config.php文件中添加以下行来完成:
define( 'WP_DEBUG', true );
。这将为诊断提供更全面的错误输出。