如何从添加到WP数据库的定制表中调用一行用户特定数据

时间:2017-01-27 作者:DigitalDesigner

我已经设置了我的WordPress站点,自定义了主题以及几个插件,我还向WordPress数据库添加了一个自定义表,其中包含用户特定的信息。

我想为特定用户调用表中一行中的所有内容

我已经为行的特定列元素设置了所有echo语句,但是我很难使用初始php来提取信息。无论我做了什么尝试,我的查询总是失败。

目前,我已经做到了这一点,但是在正确加载信息方面仍然存在一些问题。如有任何见解,将不胜感激。:)

<?php
$servername = "localhost";
$username = "DBusername";
$password = "DBpassword";
$database = "DBname";

// Create connection
$conn = new mysqli($servername, $username, $password);

$db_selected = mysqli_select_db($conn, $database);

            $userid = $current_user->user_login;
    $sql = "SELECT * FROM \'member-status\' WHERE \'Card\' = \'$userid\'";
            $result = mysqli_query($conn, $sql);
            if ($result) {
                list($userid) = mysqli_fetch_array(mysqli_query($result));
            } else {
                echo "query failed";
            }

    if (mysqli_connect_errno($conn))
    {
      echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }

?>
<小时>

UPDATE #1

在进一步研究之后,我开始调整代码,并决定稍微清理一下代码,我现在没有收到以前的连接错误,但是我仍然没有加载信息。任何有见识的人都将不胜感激,这是修订后的代码。

<?php global $current_user;
  wp_get_current_user();    ?>

<?php 
$mydb = new wpdb(\'user\',\'pwrd\',\'db\',\'localhost\');
$mydb->show_errors();
$userid = $current_user->user_login;
$query = "SELECT * FROM member_status WHERE CARD = $userid";
$结果=$mydb->获取\\u结果($查询);?>

<ul>
  <li>LAST</li>
  <li><?php echo $result["Last"]; ?></li> //need help with this line
 </ul>
提前感谢您的见解。:)

<小时>

UPDATE #2 ISSUE RESOLVED

我很高兴地宣布,我已经解决了这个问题。对于其他想要完成此任务的人,这里是我使用的工作代码。

<?php global $current_user;
  wp_get_current_user();    ?>

<?php 
// $mydb = new wpdb(\'username\',\'password\',\'database\',\'localhost\');
//$mydb->show_errors();
$userid = $current_user->user_login;
$result = $wpdb->get_results( "SELECT * FROM member_status WHERE CARD = $userid");
// $query = "SELECT * FROM member_status WHERE CARD = $userid";
// $result = $mydb->get_results($query);

?>
<?php foreach ( $result as $query )   {?>
然后,要调用各个字段/列数据,请在需要的位置添加此代码

<?php echo $query->ColumnName; ?> //Change ColumnName to the column you want to call from.

1 个回复
最合适的回答,由SO网友:DigitalDesigner 整理而成

在通过WordPress Codex和各种论坛帖子和教程进行了长时间的研究之后。以下是我当前问题的解决方案。

首先,我打电话给当前登录的用户。

<?php global $current_user;
wp_get_current_user();    ?>
我从那里连接到数据库。看到我在WordPress数据库中添加了表,我使用了global语句,选择了我想要的数据库表和信息,并为查询做好了准备。

<?php global $wpdb;
$userid = $current_user->user_login;
$result = $wpdb->get_results( "SELECT * FROM custom_table WHERE CARD = $userid");
// $query = "SELECT * FROM custom_table WHERE CARD = $userid";
// $result = $wpdb->get_results($query);

?>
<?php foreach ( $result as $query )   {?>
然后,为了调用特定用户的各个字段/列数据,我只需回显custom\\u表列的各种查询,我想在我的网页上填充这些查询。

<?php echo $query->ColumnName; ?>
我希望社区中的一些人觉得这很有帮助。我对这个答案所做的编辑对于将来遇到这个帖子的人来说更加详细。

相关推荐

无法在模板函数.php中使用IS_HOME

我试图在标题中加载一个滑块,但只在主页上加载。如果有帮助的话,我正在使用Ultralight模板。我正在尝试(在template functions.php中)执行以下操作:<?php if ( is_page( \'home\' ) ) : ?> dynamic_sidebar( \'Homepage Widget\' ); <?php endif; ?> 但这行不通。现在,通过快速的google,我似乎需要将请