在 WP Shortcode 中显示来自 mySQL 的数据字段

Displaying Datafield from mySQL in WP Shortcode

我正在尝试使用来自新 table 的短代码在 WP 前端显示字段数据。

See Table

在查阅了许多资源和研究之后,我似乎没有找到一种简单的方法来显示包含在 SQL 查询中选择的特定字段中的文本数据(不是 table)通过 SELECT FROM WHERE.

到目前为止,我调用了 wpdb,选择了字段,创建了一个循环并回显了。但是没有显示结果。 我也尝试过使用 print_r 和内爆,但都失败了。

<?php
function Initial_Brief(){ global $wpdb;
    $results = $wpdb->prepare( "SELECT 'Initial_Brief'* FROM `Portal_100` WHERE Project_Title = 'Project 1'");
        foreach ($results as $result)
        echo $result['results'];
}
add_shortcode('Initial_Brief','Initial_Brief')
?>

非常感谢,

要分享这个我觉得非常强大的逻辑,就是使用简码来显示网站上的所有文本,通过创建一个 HTML 表单来更新特定领域。我将创建一个编辑图标,鼠标悬停在编辑角色上时会显示,单击它会触发一个带有 html 表单的弹出窗口,该表单调用一个函数来更新数据库中的特定字段。

您缺少这样调用 get_results 方法:

<?php
global $wpdb;
$id = 23;
$sql = $wpdb->prepare( "SELECT * FROM tablename WHERE id= %d",$id);
$results = $wpdb->get_results( $sql , ARRAY_A );
?>

使用prepare方法是为安全执行准备SQL查询的好习惯(例如抢占SQL注入),但还没有执行,它 returns 一个经过清理的查询字符串,如果有查询要准备的话。 它也是 query 方法的好伴侣。

经过一些迭代,我终于让它工作了!

我明白了 mySQL 不接受带间距的输入? 如何为多个单词或段落插入 WHERE 条件?

使用以下脚本对我有用,但我必须将 WHERE 值更改为整数。

<?php
add_shortcode('Initial_Brief', function(){
global $wpdb;
$sql = $wpdb->prepare("Select Value from `P100` WHERE `P100`.`id` = 1 ");
$results = $wpdb->get_results( $sql , ARRAY_A );
foreach ($results as $result) {
$display = implode(", ", $result);
echo $display;
});?>