2014-02-13 28 views
-1

我只是試圖運行查詢使用wpdb查詢和準備語句。MySQL的語法錯誤與wpdb查詢/準備

在我的網頁,它返回:

[你在你的SQL語法錯誤;檢查對應於你的MySQL服務器版本在線路附近使用「更改爲MyQuery」正確的語法手冊1]

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); 
?> 

回答

1

你錯過了你的變量前的美元符號名稱:

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

應該

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

啊,SIMP le錯誤。謝謝約翰! – Conner