0

ページ分割された一連の結果を生成する検索をユーザーが実行できるようにする Web アプリケーションがあります。ユーザーは、結果から項目の 1 つを選択して、詳細情報を表示できます。ただし、ユーザーが戻るボタンを押すと、Error loading pagejQuery Mobile からエラーが発生します。Chrome Inspector でプレビューを見ると、これは1064エラー (私の SQL 構文のエラー) によるものです。最初に実行されたときにクエリが機能することを考えると、これは実際には問題ではないと考えています。

CodeIgniter の経験があまりないので、戻るボタンが押されたときに、有効な応答を返すために必要な値がコントローラー メソッドに送信されていないため、エラーが発生したと思います。

ユーザーが検索結果に戻って、好きなように前後にページネーションできるようにしたいので、誰でもこの問題を解決できますか?

Error Number: 1064

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND `library`.`votes` >= '1000'AND `library`.`language` != 'German'AND `ro' at line 5

SELECT *FROM (`library`)JOIN `classifications` ON `library`.`id` = `classifications`.`id`WHERE `library`.`rating` >=AND `library`.`votes` >= '1000'AND `library`.`language` != 'German'AND `classifications`.`meter` >ORDER BY `library`.`rating` DESC

Filename: /Applications/MAMP/htdocs/libraryTest/models/results_model.php

Line Number: 53

編集

問題は、上で述べたように、コントローラーメソッドが値なしで次のクエリを実行しようとするように戻るボタンが押されたときに引数を受け入れないことです。

SELECT *FROM (`library`)JOIN `classifications` ON `library`.`id` = `classifications`.`id`WHERE `library`.`rating` >=AND `library`.`votes` >= '1000'AND `library`.`language` != 'German'AND `classifications`.`meter` >ORDER BY `library`.`rating` DESC

library.ratingとの値が存在しないことがわかりますclassifications.meter。ただし、コントローラー メソッドが最初に呼び出されたときに、これらの値が最初のクエリに存在することを繰り返したいと思います。このエラーは、ページに戻るときに発生します。

上記の 53 行目は、モデル メソッドでの SQL クエリの実行に対応しています。

return $sql_query->get()->result();

4

1 に答える 1

0
'AND `library`.`votes` >= '1000'AND `library`.`language` != 'German'AND `ro'

その行の最後に次のものがあります。AND 'ro'

構文を確認してください。それはどこから?それは間違った条件です。次のようになります。

AND language != ro

ここに 53 行目を貼り付けてください。そこに問題があるからです。

于 2013-02-12T21:39:45.903 に答える