Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.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 在wordpress页面上使用SQL_Php_Mysql_Wordpress - Fatal编程技术网

Php 在wordpress页面上使用SQL

Php 在wordpress页面上使用SQL,php,mysql,wordpress,Php,Mysql,Wordpress,通过使用插件,我可以通过使用[insert_PHP]作为标记在页面上使用PHP,然而,每当我尝试使用SQL时,它似乎都不起作用。 我尝试使用: global $wpdb; $prepared = $wpdb->get_row( "SELECT SiteID, SiteName FROM $wpdb->Site WHERE SiteID = 1"); echo $prepared->SiteName; echo "test"; 我得到的只是页面

通过使用插件,我可以通过使用[insert_PHP]作为标记在页面上使用PHP,然而,每当我尝试使用SQL时,它似乎都不起作用。 我尝试使用:

global $wpdb;
$prepared = $wpdb->get_row(
    "SELECT SiteID, SiteName
    FROM $wpdb->Site
        WHERE SiteID = 1");

echo $prepared->SiteName;
echo "test";
我得到的只是页面上的测试,我已经测试了我的sql语句是否出错,它似乎工作正常,所以我猜$wpdb或我输出数据的方式有问题

我认为,试图引用
$wpdb->Site
可能是您的代码无法工作的原因之一。您需要知道表中的确切字段才能提取信息


我认为您实际上是在查找“域”字段,而不是“站点名”。

尝试用表的实际名称替换
$wpdb->Site
。我一开始也会遇到类似的错误,因为
$wpdb->table_name
仅适用于默认的wp表

编辑 应该是这样的:
从SiteID=1的站点中选择SiteID、SiteName

检查“从$wpdb>选择SiteID、SiteName->SiteID=1的站点中选择SiteID、SiteName”的真正含义,这是您的error@Peter我有,我得到了我要找的数据。Site是我创建的一个表我创建了一个名为Site的表并将数据转储到其中,我现在正在尝试检索该数据,这个名为“Site”的表与WordPress的其余数据在同一数据库中吗?我的建议是,为了防止名称为“Site”的表与WordPress已经很重要的表之间的命名冲突,可以将您的表命名为其他名称,可能前缀为“My_”,例如“My_Site”,然后尝试查询:
SELECT SiteID,$wpdb->my_Site中的SiteName,其中SiteID=1
当检索到一条描述导致语句无法运行的原因的错误语句时,它最有用。我建议接下来将这两条语句放在php代码块的开头,这样它们就可以实现一些诊断输出:
ini_set('display_errors','On');错误报告(E_全部)然后尝试重新运行代码。这可能会也可能不会输出导致MySQL出现问题的原因,我强烈期望这就是问题的真正所在。对于我在阅读文档时所做的哭泣:[启用SQL错误输出的开关)尝试打开这些开关,看看会发生什么。看起来,如果表不是默认的wp表,那么$wpdb->Site应该替换为
my_Site
。无论如何,感谢您的帮助!它不是默认的wp表,是我自己添加的。好的。您可以用实际的表名替换它至少,您希望使用而不是使用$wpdb->table\u name