2011-09-09 11 views
-1

ドキュメントルートの外側のインクルードフォルダにdbconn.phpファイルをセットアップしました。私はselect文の一部としてそれから$ mysqliのを参照すると、私はエラーが表示さMYSQLi_QueryがインクルードフォルダのDB接続で動作しない

Warning: mysqli_query() [function.mysqli-query]: Couldn't fetch mysqli  
in /home/tgitcorp/public_html/Admin/admin_index.php on line 18 
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, null given 
in /home/tgitcorp/public_html/Admin/admin_index.php on line 20 

次のように私のdbconn.phpは次のとおりです。

<?php 
    $mysqli = new mysqli('localhost','dbuser','pass','dbname'); 
    if ($mysqli->connect_error){ 
     die('Connect Error (' . $mysqli_connect_errno . ')'. $mysqli->connect_error); 
    } 
    $mysqli->close(); 
?> 

は、ここに私のコードです:

<?php 
include_once '/home/tgitcorp/includes/dbconn.php'; 
?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML  
1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type" /> 
    <title>Tricorp Job Listing Admin Panel</title> 
    <link rel="stylesheet" href="../css/style.css" type="text/css"/> 
</head> 
<body> 
    <h1>Job Listing Administration</h1> 
    <h2>Step 1: Please Select Your Restaurant</h2> 
    <form id="frmSelStore" method="post"> 
    <?php 
    $result=mysqli_query($mysqli,'SELECT location from restaurant'); 
    echo '<select name="ddlStore">'; 
    while($row=mysqli_fetch_array($result)) 
    { 
     echo '<option value="' . htmlspecialchars($row['location']) . '"></option>'; 
    } 
    echo '</select>'; 
    ?> 
    </form> 
</body> 
</html> 

レストランのテーブルに問い合わせて場所フィールドを取得し、そのフィールドをドロップダウンボックスの値として入力したいとします。誰もこのエラーを解決するのに役立つことができますか?

ありがとうございます!

UPDATE#2:改訂コードブロック:

<?php 
$result=$mysqli->query($mysqli,'SELECT location from restaurant'); 
echo '<select name="ddlStore">'; 
while($row=$mysqli->query($result)) 
{ 
    echo '<option value="' . htmlspecialchars($row['location']) . '">'; 
    '</option>'; 
} 
echo '</select>'; 
?> 

はエラーメッセージを生成:

Warning: mysqli::query() expects parameter 1 to be string, object given 
in /home/tgitcorp/public_html/Admin/admin_index.php on line 18 
Warning: mysqli::query() [mysqli.query]: Empty query 
in /home/tgitcorp/public_html/Admin/admin_index.php on line 20 
+0

は 'のvar_dump($ mysqliの)を試してみてください;'とするmysql_query後、 'のvar_dump($結果);' – ajreal

+0

あなたは含まれました'dbconn'ファイルを使用したいスクリプトに置きます。 'include_once" path/to/dir/dbconn.php ";'? – Michael

+0

dbconn.phpには何がありますか?あなたが投稿したコードの中に、あなたが報告したエラーを生成するものはありません。 –

答えて

4

あなたはできるだけ早くあなたがそれをインスタンス化して、接続を閉じるのはなぜ?それはそれと関係があるはずです。 $mysqli->close()ifブロックに属すると私に聞こえます。

編集:ここで説明したようにいずれの場合も、接続をクローズすると、オプションである:http://php.about.com/od/phpfunctions/qt/mysql_close.htm

+1

ニースキャッチ。それが問題になるはずです。 –

+0

良いキャッチ。ほとんどのnoobエラーはこれと同じくらい愚かです –

+0

' 'の下のスクリプトファイルの最後には行かないでください。 – Michael

関連する問題