2016-10-14 11 views
-2

私のコードでは、誰かが問題を確認して指摘してくれるかもしれないという問題があります。私はPHPで2つのWebページを作成しており、あるページから別のページに変数をリクエストしています。私の最初のページの写真にあるように、私はデータベースから取得した値のドロップリストを持っています。 2番目のページでは、ユーザーが最初のページから選択した選択に基づいて、ボートである一致するアイテムのリストを印刷したいと思います。今そこから、ユーザーが「すべて」選択されていないか、または「すべて」と指定された選択肢が混在していないかを最初に確認するSQLクエリを作成します。どちらかが当てはまらない場合、データベースフィールド名は要求されたアイテムと等しく、それを画面にエコーします。 2番目のページでは、データベースに正常に接続しました。問題は、私のコードをテストするとき、画面が空白であるということです。つまり、文字列に誤りがあります。前もって感謝します。ここに私のコードです選択肢ステートメントで「すべて」のケースを確認する方法

+0

変更してみてください、このことができます

linux + nginx is: /var/log/nginx/error.log linux + apache is: /var/log/apache/error.log Windows is likely to be in path/to/php/log/error-something.txt 

希望を 'sqlStr = "AND 1 = 1";' sqlStr 'へ=" AND 1 = 1 ";"、どこでも、あなたは基本的にsqlStrを毎回上書きしています。 – Mihailo

答えて

0

ここからわかるように、追加する代わりにsqlStrの値を上書きし続けています。

そして、あなたはsqlStr

試みる前$を逃しているが:

$sqlStr = "SELECT * FROM boats Where"; 

if($boatClass == 'All') 
    (
     $sqlStr .= " AND 1=1"; 
    ) 
else 
{ 
    'Class' = $boatClass; 
} 
if($boatMake == 'All') 
    (
     $sqlStr .= " AND 1=1"; 
    ) 
else 
{ 
    'Make' = $boatMake; 
} 
if($Year == 'All') 
    (
     $sqlStr .= " AND 1=1"; 
    ) 
else 
{ 
    'Year' = $Year; 
} 
if($used == 'All') 
    (
     $sqlStr .= " AND 1=1"; 
    ) 
else 
{ 
    'UsedOrNew' = $used; 
} 
+0

+私はかなりの間違いがあると確信しています。しかし、私はちょうどこの情報であなたを助けることはできません。 – Mihailo

+0

ええ、 '' Class '= $ boatClass;のようなものは '$ sqlStr。=" \ 'Class \' =' "。$ boatClass" '";' ** ...のようなものでなければなりませんパラメータ化された適切なクエリ手法を使用する点を除きます。** – Uueerdo

0

空白のページがエラーを解析していることを意味します。 devマシンのみで作業している場合、php.iniを変更してエラーを表示することができます。デフォルトではセキュリティ上の理由からオフになっています。

エラーログを確認することができます。エラーが発生したスクリプトが実行されるたびにエラーログが生成されます。

ログファイルの場所を確認するには、phpinfoスクリプトhttp://php.net/manual/pt_BR/function.phpinfo.phpを実行し、error_logを確認します。それが空白の場合は

、エラー・ログ・ファイルの場所デフォルト:

関連する問題