我在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/

10-12 16:26
查看更多