我在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";
}
}
解决:
这是代码
内部函数
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. "'" );
此处更多信息:https://codex.wordpress.org/Class_Reference/wpdb
关于php - Wordpress theme-functions.php中的PHP和MYSQL脚本可提取和回显数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39752142/