まず歴史のビット。私たちは、あるホスティングプロバイダ(hostexcellence)から別のホスティングプロバイダ(1and1)にサイトを移動しました。クライアントがリセラーホスティングとは別の独自のホスティングを取得したかったからです。特定のPHP MySQLのクエリは、ルートフォルダで動作していません
サイトは1つのことを除いて正常に動作しています。
なんらかの理由で、またはルートフォルダで実行された別の特定のクエリが機能していませんが、サブフォルダで完全に正常に動作します。さらに、複数の結果を返すクエリを実行するとうまくいきますが、1行の項目を返すクエリを実行すると、空のセットが返されます。ここで
クエリ
'SELECT `specials`.*, DATE_FORMAT(startdate, "%d %b %Y") AS sdate, DATE_FORMAT(enddate, "%d %b %Y") AS edate FROM `specials` WHERE enddate > NOW() and active = 1'
の一つである。しかし、私は別のテーブルに類似したクエリを実行する場合、私はこれらの中では動作しませんが、前述したように、それは細かい
'SELECT *, DATE_FORMAT(startdate, "%d %b %Y") AS sdate, DATE_FORMAT(enddate, "%d %b %Y") AS edate FROM events WHERE enddate >= NOW() AND active = 1'
の作品ウェブサイトのルートフォルダではなく、任意のサブフォルダで動作します。
mysql_error()は何も返しません。それは単に空の結果を返します。
私は過去2日間のエラーをトレースしようとしているので、任意のアイデア。
これはApacheサーバー上で実行されていて、違いがあり、そのディレクトリにhtaccessファイルが存在しない場合は実行されています。事前
編集
で
おかげで、私は以下の方法のすべてを試みたが、私は、クエリは、彼らが他のページとのphpMyAdminで正常に動作しているページとは別の再試行しました。だから私はちょっと気分が悪いです。
'open_basedir' PHP設定オプション? –
SQLコードがディレクトリを認識しているとは考えにくいです。ほとんどの場合、PHPエラーログを有効にしていないか、エラー報告レベルが低いです。 –
私はページに次のものを追加しました(ホスティングプロバイダがphp.iniで許可するオプションはかなり制限されています)、テストしてもエラーは返されません:'ini_set( 'display_errors'、1);ini_set( 'log_errors'、1);ini_set( 'error_log'、dirname(__ FILE__)。 '/error_log.txt'); error_reporting(E_ALL); ' –