0

2 つのインクルード ファイル (fill_boxMain.php と fill_boxBottom.php) があります。両方とも私の index.php からインクルードされ、2 つの div の内容をこの順序で入力します。

次のように:

<div><?php require_once 'includes/fill_boxMain.php' ; ?></div>   
<div><?php require_once 'includes/fill_boxBottom.php' ; ?></div>

最初のもの (fill_boxMain.php) は正常に動作します。コードをどのように調整または変更しても、2番目は失敗し、同じ繰り返しエラーが発生します。つまり、mysqli_query($dbc,$q) は失敗します。

SELECT クエリは phpMyAdmin で正常に動作します。以下に示すように、テスト目的で両方の「インクルード」にまったく同じコードの最初の 3 行が含まれるようになりました。SOF で関連する投稿をたくさん読み、提案を試してみましたが、何も機能しません。ここで、エラー処理に die() の代わりに「throw new Exception()」を使用するという提案を見つけ、示されているようにコードをやり直しました。ありがとうございます。

<?php
require_once 'dbConnect.php' ; //open connection to $dbc
$q = "SELECT * FROM tunes ORDER BY `tunes`.`title` ASC";    
if (!$r = mysqli_query($dbc,$q)) { 
    throw new Exception("Error description: " . mysqli_error($dbc)) ;}  
?>

返されるエラー コードは次のとおりです。

警告: mysqli_query(): C:\xampp\htdocs\Woodweb\includes\fill_boxBottom.php の 4 行目で mysqli を取得できませんでした

警告: mysqli_error(): C:\xampp\htdocs\Woodweb\includes\fill_boxBottom.php の 4 行目で mysqli を取得できませんでした

致命的なエラー: C:\xampp\htdocs\Woodweb\includes\fill_boxBottom.php:4 のメッセージ 'エラーの説明:' を含む例外 '例外' がキャッチされません: #0 C:\xampp\htdocs\Woodweb\index.php( 31): require_once() #1 {main} が C:\xampp\htdocs\Woodweb\includes\fill_boxBottom.php の 4 行目にスローされる

その「致命的なエラー」は重要に見えますが、それが何を意味するのかわかりません。これを解決する助けをいただければ幸いです。

4

1 に答える 1

0

あなたの問題はのrequire_onceにあるようdbConnect.phpです。fill_main も によってデータベースを呼び出すと仮定していrequire_once "dbConnect.php";ます。これが fill_bottom に到達した場合、require_once はトリガーされず、dbConnect.php コードは実行されません。

于 2014-03-05T19:57:59.590 に答える