2013-05-13 133 views
-3
$orderby = 'title'; 
$order = 'ASC'; 

$stmt = $conn->prepare('SELECT f.id, title, description, release_year, first_name, last_name FROM film AS f, film_actor AS fa JOIN actor AS a WHERE fa.actor_id = a.actor_id AND fa.film_id = f.film_id ORDER BY :orderby :order LIMIT :limit'); 
$stmt->execute(
    array( 'order'=>$order, 
      'orderby'=>$orderby, 
      'limit'=>$limit 
     ) 
    ); 

我試圖運行此查詢時遇到標題中描述的錯誤。我試圖找到一種方法來調試輸出,但失敗了。我會感激的幫助。 PS:我正在使用PHP中的PDO學習SQL。選擇語句PDO錯誤SQLSTATE [42000]:語法錯誤或訪問衝突:1064

在此先感謝。

+0

感謝您的鏈接。 – bruhbruh 2013-05-13 07:19:03

回答

1

你忘:這裏

array( 'order'=>$order, 
     'orderby'=>$orderby, 
     'limit'=>$limit 
    ) 

應該

array( ':order'=>$order, 
     ':orderby'=>$orderby, 
     ':limit'=>$limit 
    ) 
+0

謝謝,我已經做了這個改變,但我仍然得到同樣的錯誤。 這是更正後的代碼: '$ stmt = $ conn-> prepare('SELECT f.id,title,description,release_year,first_name,last_name FROM film AS f,film_actor AS fa JOIN actor AS a WHERE fa.actor_id = a .actor_id AND fa.film_id = f.film_id ORDER BY:orderby:order LIMIT:limit'); $ stmt->執行( 陣列(\t ':爲了'=> $順序, ':排序依據'=> $的OrderBy, \t ':極限'=> $極限) \t \t);' – bruhbruh 2013-05-13 06:21:32

+0

@talentedunicorn顯示完整的錯誤。 – 2013-05-13 06:22:33

+0

以下是完整的錯誤: '數據庫錯誤:SQLSTATE [42000]:語法錯誤或訪問衝突:1064您的SQL語法中有錯誤;檢查與你的MySQL服務器版本相對應的手冊,在第1行''''附近使用正確的語法' – bruhbruh 2013-05-13 06:26:14

相關問題