Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在WP短代码中显示mySQL中的数据字段_Php_Mysql_Wordpress_Wordpress Theming - Fatal编程技术网

Php 在WP短代码中显示mySQL中的数据字段

Php 在WP短代码中显示mySQL中的数据字段,php,mysql,wordpress,wordpress-theming,Php,Mysql,Wordpress,Wordpress Theming,我试图使用新表中的短代码在WP前端显示字段数据 在接触了许多源代码和研究之后,我似乎没有找到一种简单的方法来以文本(而不是表格)的形式显示数据,这些数据包含在通过“从何处选择”在SQL查询中选择的特定字段中 到目前为止,我调用了wpdb,选择了字段,创建了一个循环并进行了响应。但没有显示结果。 我也尝试过使用print_r和introde,但都失败了 <?php function Initial_Brief(){ global $wpdb; $results = $wpdb-&g

我试图使用新表中的短代码在WP前端显示字段数据

在接触了许多源代码和研究之后,我似乎没有找到一种简单的方法来以文本(而不是表格)的形式显示数据,这些数据包含在通过“从何处选择”在SQL查询中选择的特定字段中

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

<?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')
?>

您缺少这样的方法调用:

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

该方法的使用是为安全执行准备SQL查询(例如,抢占SQL注入)的一个良好实践,但在执行过程中,如果要准备查询,它将返回一个经过消毒的查询字符串。
它也是该方法的好伴侣。

您无法像这样调用该方法:

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

该方法的使用是为安全执行准备SQL查询(例如,抢占SQL注入)的一个良好实践,但在执行过程中,如果要准备查询,它将返回一个经过消毒的查询字符串。
它也是该方法的好伴侣。

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

我知道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;
});?>

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

我知道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;
});?>


您好,谢谢您的回答,但我不认为这是主要问题,我使用的是get_结果,但它仍然不响应表中的数据。我现在开发了以下内容:当您编写
时,从
中选择'Initial_-Brief'。。。你以前用过这个语法吗?我不习惯这个星号(*)在那个位置。也许中间缺了一个点?如
“初始摘要”。*
?感谢您的回复。mySQL似乎不接受WHERE输入中的句子。因此,不能为地址放置where值。(例如)。换句话说,我理解,而且可能是错误的,我们只能使用预先指定的唯一键或主键来选择特定字段?嗨,谢谢你的回答,但我不认为这是主要问题,我使用的是get_结果,但它仍然不回应表中的数据。我现在开发了以下内容:当您编写
时,从
中选择'Initial_-Brief'。。。你以前用过这个语法吗?我不习惯这个星号(*)在那个位置。也许中间缺了一个点?如
“初始摘要”。*
?感谢您的回复。mySQL似乎不接受WHERE输入中的句子。因此,不能为地址放置where值。(例如)。换句话说,我理解,而且可能是错误的,我们只能使用预先指定的唯一键或主键选择特定字段?