wordpress theme-functions.PHP中的PHP和MYSQL脚本,用于提取和回送数据

wordpress theme-functions.PHP中的PHP和MYSQL脚本,用于提取和回送数据,php,mysql,database,wordpress,Php,Mysql,Database,Wordpress,我在wordpress上的一个theme-functions.php文件中有这段代码,我正在使用这个脚本,当需要时,我运行一个echo,后面跟着字符串来复制数据 目前,当我使用它时,我只得到0个结果,$userlogin上的echo正在工作,因此我知道mysql select中的过滤器很好 function calliod() { global $wpdb; $user = new WP_User(get_current_user_id()); $userlogin = $user-&

我在wordpress上的一个theme-functions.php文件中有这段代码,我正在使用这个脚本,当需要时,我运行一个echo,后面跟着字符串来复制数据

目前,当我使用它时,我只得到0个结果,$userlogin上的echo正在工作,因此我知道mysql select中的过滤器很好

function calliod() {
    global $wpdb;

$user = new WP_User(get_current_user_id());
$userlogin = $user->user_login;
echo $userlogin;

$iodoutput = "SELECT * FROM $wpdb->iod WHERE wp_iod.USERID ='". $userlogin. "'";
$result1 = $iodoutput;

if ($result1->num_rows > 0) {

while($row = $result1->fetch_assoc()) {

$USERID= "" . $row["USERID"]. "";
$CurrentPayment= "" . $row["CurrentPayment"]. "";
$LastMonthPayment= "" . $row["LastMonthPayment"]. "";
}
} else {
echo "0 results";
}
}
决议:

这是密码

Inside Functions.php

function calliod(){

global $wpdb;
$user = new WP_User(get_current_user_id());
$userlogin = $user->user_login;

foreach( $wpdb->get_results("SELECT * FROM wp_iod WHERE wp_iod.USERID ='". $userlogin. "'") as $key => $row) {

global $USERID;
$USERID = $row->USERID;
}
}
在WP页面上

<?php 
calliod(); 
echo $GLOBALS['USERID']
; ?>

现在,只要我在第一个脚本中定义,我就可以从所提到的表中提取任何列。

您正在构建的查询从未实际执行过。请参阅WPDB类的文档,但基本上您需要一行说明:

$result1 = $wpdb->get_results( "SELECT * FROM wp_iod WHERE wp_iod.USERID ='". $userlogin. "'" );

此处的更多信息:

您正在构建的查询从未实际执行过。请参阅WPDB类的文档,但基本上您需要一行说明:

$result1 = $wpdb->get_results( "SELECT * FROM wp_iod WHERE wp_iod.USERID ='". $userlogin. "'" );


更多信息请点击此处:

$result1=$iodoutput;你需要在这里执行你的查询实际上你在寻找什么?基本上,从这个脚本中,我想将echo$CurrentPayment放在wordpress中的一个页面上,这样用户可以在使用当前wordpress数据库连接时看到他们当前的账单付款,而不是进行第二次连接。如果不执行查询,您将无法获得与更新代码相匹配的值,现在的问题是,您没有从函数返回$CurrentPayment值。您不能只在函数中设置一个值,而期望它在函数外部可用。您必须返回该值。因此,while循环的最后一行需要回显$CurrentPayment或返回$CurrentPayment,以便可以将其作为函数外部的值进行赋值;你需要在这里执行你的查询实际上你在寻找什么?基本上,从这个脚本中,我想将echo$CurrentPayment放在wordpress中的一个页面上,这样用户可以在使用当前wordpress数据库连接时看到他们当前的账单付款,而不是进行第二次连接。如果不执行查询,您将无法获得与更新代码相匹配的值,现在的问题是,您没有从函数返回$CurrentPayment值。您不能只在函数中设置一个值,而期望它在函数外部可用。您必须返回该值。因此,while循环的最后一行需要回显$CurrentPayment或返回$CurrentPayment,以便可以将其作为函数外部的值进行分配。我已将其添加到其中,并且仍然获得0个结果…$iodoutput=$wpdb->get_results SELECT*FROM wp_iod,其中wp_iod.USERID='$用户登录'$结果1=$IOD输出;我猜测的是您实际数据库的表名——我在代码中将其命名为“wp_iod”。这实际上是您需要查询的表名吗?它里面有USERID列吗?试着将get_results查询更改为SELECT*FROM wp_iod,然后再次运行它以确保它正常工作。如果它返回结果,那么问题出在wp_iod.USERID=$userlogin文件中。我还要确保wp_iod.USERID数据实际上是用户名,而不是用户ID号删除了WHERE部分&仍然是0结果。也清除了缓存。此表的USERID包含我从$userlogin中提取的用户名。echo confims correct username在数据库中显示双重检查的userid&它确实包含用户名。。。。。脚本在当前主题的theme-functions.php中,可以吗?或者应该将它放在另一个位置?我已经将其添加到其中&仍然得到0个结果…$iodoutput=$wpdb->get_results SELECT*FROM wp_iod,其中wp_iod.USERID='$用户登录'$结果1=$IOD输出;我猜测的是您实际数据库的表名——我在代码中将其命名为“wp_iod”。这实际上是您需要查询的表名吗?它里面有USERID列吗?试着将get_results查询更改为SELECT*FROM wp_iod,然后再次运行它以确保它正常工作。如果它返回结果,那么问题出在wp_iod.USERID=$userlogin文件中。我还要确保wp_iod.USERID数据实际上是用户名,而不是用户ID号删除了WHERE部分&仍然是0结果。也清除了缓存。此表的USERID包含我从$userlogin中提取的用户名。echo confims correct username在数据库中显示双重检查的userid&它确实包含用户名。。。。。脚本在当前主题的theme-functions.php中,可以吗?还是应该把它放在另一个地方?