【问题标题】:MySQL Syntax Error with wpdb query/preparewpdb查询/准备的MySQL语法错误
【发布时间】:2014-02-13 01:51:04
【问题描述】:

我只是尝试使用 wpdb 查询和准备语句运行查询。

在我的页面上它返回:

[您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“myQuery”附近使用正确的语法]

PHP 代码:

<?php
    $dirName1 = 'C:/wamp/www/c2c/wp-content/themes/flawless-v1-01';
    $dirName2 = 'C:/wamp/www/c2c';
    require_once($dirName1.'/config/setup.php');
    require_once($dirName2.'/wp-config.php');
    require_once($dirName2.'/wp-load.php');

    $wpdb->show_errors();
    $tableName = $wpdb->prefix . "user_orders";
    $user = wp_get_current_user();
    $userId = $user->ID;
    $userName = $user->user_login;
    // echo $tableName . ':  ' . $userId . ': '. $userName; 
    // echo var_dump($tableName); 
    // echo var_dump($userId); 
    // echo var_dump($userName); 
    // These echo the correct formats for the prepare statement below
    $myQuery = $wpdb->query(
        $wpdb->prepare("
            SELECT * 
            FROM $tableName 
            WHERE `user_id` = %d 
            AND `user_name` = %s", 
            $tableName, 
           $userId, 
        $userName)
    );
    $results = $wpdb->get_results(myQuery, ARRAY_A);
?>

【问题讨论】:

    标签: mysql sql syntax-error wordpress


    【解决方案1】:

    您的变量名前缺少美元符号:

    $results = $wpdb->get_results(myQuery, ARRAY_A);
    

    应该是

    $results = $wpdb->get_results($myQuery, ARRAY_A);
    

    【讨论】:

      猜你喜欢
      • 2018-03-02
      • 1970-01-01
      • 2018-01-14
      • 1970-01-01
      • 2017-10-23
      • 2011-10-28
      • 1970-01-01
      • 2011-08-18
      • 1970-01-01
      相关资源
      最近更新 更多