Неожиданная ошибка T_CONSTANT_ENCAPSED_STRING в SQL-запросе - PullRequest
0 голосов
/ 17 марта 2011

Я получаю неожиданную ошибку T_CONSTANT_ENCAPSED_STRING в следующем запросе SQL:

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 ]

2 голосов
/ 17 марта 2011

Оберните ваши операторы SQL в кавычки - ".

mysql_query ("UPDATE 'wp_posts' SET 'post_status' = 'publish' WHERE 'post_id' = '$id'");
0 голосов
/ 17 марта 2011

mysql_query() принимает строку. PHP ищет константы с вкраплениями строк, что недопустимо в грамматике PHP.

Вам необходимо разделить строки, ' и " - это популярные варианты, но есть также синтаксис Heredoc.

Подробнее о строках в PHP .

...