SQL查询中出现意外的T_CONSTANT_ENCAPSED_STRING错误

时间:2011-03-17 01:24:33

标签: mysql wordpress encapsulation

我在以下SQL查询中收到意外的T_CONSTANT_ENCAPSED_STRING错误:

mysql_query (UPDATE 'wp_posts' SET 'post_status' = 'publish' WHERE 'post_id' = '$id');

你们能看到错误的位置吗?

以下是完整的代码,以防它有用:

    $key = 'feed';
    $post_ids = array(2263, 2249); 

    foreach ($post_ids as $id) {
    $feedurl = get_post_custom_values($key, $id);
    $feedurlstr = implode($feedurl);

    // Ignore - it determines whether feed is live and returns $result
    LiveOrNot($feedurlstr);

    if ( $result == "live" ) {
    mysql_query (UPDATE 'wp_posts' SET 'post_status' = 'publish' WHERE 'post_id' = '$id');
    }    
    elseif ( $result == "notlive" ) {
    mysql_query (UPDATE 'wp_posts' SET 'post_status' = 'draft' WHERE 'post_id' = '$id');
    }
    endif;
    }

2 个答案:

答案 0 :(得分:2)

将您的SQL语句包装在引号中 - "

mysql_query ("UPDATE 'wp_posts' SET 'post_status' = 'publish' WHERE 'post_id' = '$id'");

答案 1 :(得分:0)

mysql_query()需要一个字符串。 PHP正在寻找散布着字符串的常量,这些字符串不是有效的PHP语法。

您需要分隔字符串,'"是受欢迎的选择,但也有Heredoc语法。

Read more about strings in PHP