【问题标题】:Trouble with simple IF statement using get_current_user_id()使用 get_current_user_id() 的简单 IF 语句出现问题
【发布时间】:2014-09-22 22:16:11
【问题描述】:

我有以下代码工作,除了一件事:如果当前用户是返回的故事的作者,我试图在底部显示一些条件内容。目前由于某种原因,IF语句中的内容无论如何都会显示出来。我知道 $user_ID 工作正常(它在 var_dump 中显示正确的当前用户)并且我还知道当我回显 $results[0]->display_name 时,结果代码正在页面上为正确的作者显示正确的作者.

这意味着这个语句有问题: if ($user_ID = $results[0]->stories.ID)

我也只用 ID 尝试过(而不是 stories.ID,它也不起作用。

<?php
global $wpdb;
$user_ID = get_current_user_id();


$results = $wpdb->get_results("
SELECT wp_users.ID, wp_users.display_name,
stories.ID, stories.SID, stories.story_name, stories.category,
writing.ID, writing.text, writing.approved
FROM stories
JOIN wp_users ON stories.ID = wp_users.ID
JOIN writing ON stories.SID = writing.SID
WHERE (stories.SID = $the_SID) AND (writing.approved = 'Y')");


<?php
if ($user_ID = $results[0]->stories.ID){
echo "author level permission buttons here";
}

【问题讨论】:

    标签: php mysql wordpress


    【解决方案1】:

    == 中的相等检查运算符。 =assignment 运算符:

    if ($user_ID == $results[0]->stories.ID){
        echo "author level permission buttons here";
    }
    

    【讨论】:

    • 呃。我之前确实有过。看来问题出在使用“stories.ID”上。我必须只使用“ID”,我猜这是可以的,因为幸运的是,我使用 ID 的所有表都引用了相同的变量(用户 ID)。但这似乎很笨拙,因为如果我有另一个表,例如,订单,以及一个 ID 字段,那将是有问题的。无论如何,它现在正在工作。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2011-05-31
    • 1970-01-01
    • 2020-02-22
    • 2019-03-17
    • 2022-01-26
    • 1970-01-01
    • 1970-01-01
    • 2014-08-22
    相关资源
    最近更新 更多