2016-04-07 65 views
0

FROM SELECTクエリ/準備されたステートメントで使用されるいかなる指数*は、しかし、ポストはちょうどmysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT)を使用することをお勧めしないの代わりerror_reporting(E_ALL)。私は実際にエラーメッセージを削除するこれらの変更を行ったが、何も私のWebページに表示されません、それはそれにはいくつかのフォームがありますが、それは単なる空白のページです。だから私は使用を開始error_reporting(E_ALL)もう一度致命的なエラー:キャッチされないmysqli_sql_exception:私はこの問題について、私たちの記事を見てきた製品

私はこのエラーの別の理由があるのだろうかと思っていた。これは、この問題の原因となっている単純なSELECTステートメントです。phpファイルは4つのフォームで構成され、その直前に重複キーステートメントが挿入されています。

$prod_sel = $dbc->query("SELECT * FROM Product"); 
     $prod_sel->data_seek(0); 
     while ($output = $prod_sel->fetch_assoc()) { 
      $prod_run .= $output['Product_Name'] . '<br>'; 
      $_SESSION['Product_Name'] = $output['Product_Name']; 
     } 
     //session_start does not work here 
     print "Restaurant is :" . $_SESSION['Product_Name']; 
     $prod_sel->free(); 
     $prod_sel->close(); 
+0

この良い記事を読むことをお勧め
を機能有効化/無効化についてhereのcompletのリストを見つけることができます*別のものを*変更する必要がありますか?誰かを拒否して他の人を好む理由は何ですか? –

+0

@YourCommonSense投稿によると、error_reporting(E_ALL)はselect文で、インデックスを必要としない問題を引き起こします。 mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT)がこれを解決すると言いました。 – JJ123

+0

Error_reportingは**選択ステートメントとは無関係です**何もありません。 –

答えて

0

あなた製品テーブルが何列インデックスされていない、あなたがより良いパフォーマンスのためにそれを修正する必要が存在します
あなたはなかれできますsがちょうどこのコード

mysqli_report(MYSQLI_REPORT_INDEX); 

を追加することによって、このmysqliのエラーを無効にあなたは内部報告書は、私はあなたを言っについてPHP & MYSQL Communication

+0

その理由は、私の製品テーブルは、主キー、インデックスキーと2つのユニークなキーが混乱している理由です。エラーを無効にすると、ページのすべてが消えます。 – JJ123

+0

記事は非常に便利ですありがとう – JJ123

-1

あなたには2つの問題があると思います。

  1. あなたが任意の例外キャッチmecahinsm
  2. お使いの製品のテーブルを持っていないいない任意の主要な柱

は、いくつかの列の自動incremantをするか、またはその一部の列の主を作るあなたのプロダクトテーブル構造を修正してみましたすでに

+0

入力していただきありがとうございます。私の製品テーブルには、自動自動インクリメントの主キーがあります。 – JJ123

+0

ここにキャッチする必要はありません。 –

+0

@YourCommonSense非常に奇妙で、いくつかの例外が必要です致命的なエラーになる彼らはキャッチされていない、私は別のものを学んだ:) –

関連する問題