-1

データベースから映画のリストを返す mysql クエリがあります。クエリは次のとおりです

$query = "SELECT * FROM `$tableName` WHERE `$columnName` >= '$stDate' and `$columnName` <= '$endDate' and `$columnName` != '0000-00-00' and `$columnName` != '1970-01-01' ORDER BY `$columnName` ASC;";

phpmyadminを使用してテストしたため、クエリは完全に正常に機能しています

主な問題は、約 30 レコードしか返されないことです。

いいえ。返されるレコードの数が 30 を超えると、php ファイルがクラッシュし、何も返されません。

Google で調査した結果、php.ini のこれらの設定を変更する必要があることがわかりました。以下の変更を行い、サーバーを再起動しました。

max_input_time = 60;       to    max_input_time = 3600;
max_execution_time = 60;   to    max_input_time = 3600;
memory_limit = 64M;        to    memory_limit = 1024M;

しかし、これらの変更は問題を解決しません。

どんな助けでも大歓迎です。ありがとうございました

4

1 に答える 1

0

詳細を知らずに知ることは非常に困難です。

あなたのクエリを見ると、私はいくつかのことを考えさせられます:

$query = "SELECT * FROM `$tableName` WHERE `$columnName` >= '$stDate' and `$columnName` <= '$endDate' and `$columnName` != '0000-00-00' and `$columnName` != '1970-01-01' ORDER BY `$columnName` ASC;";

1. != の代わりに RESERVED KEYWORD NOT (または IS NOT) を使用します。

2.なぜ$columnName!= '0000-00-00' と$columnName!= '1970-01-01' ???

3.クエリの最後にセミコロンを使用しないでください。(同じバッチでクエリを追加していない場合)

少なくとも実際のクエリが実行される場所とそこに入力される値のコード全体を提供してください...

于 2013-04-09T18:37:30.657 に答える