2016-07-02 3 views
0

2つのテーブル 'user' & 'volley'を持つデータベースを作成しました。このPHPコードは、それらのテーブルを接続してデータを取得するのに役立ちます。致命的なエラー:私のPHPを実行しようとすると、オブジェクト以外のオブジェクトのfetch_assoc()関数が呼び出されます

私は私のPHPコードを実行しようとしながら、私はこのエラーに

Fatal error: Call to a member function fetch_assoc() on a non-object in /home/u115908902/public_html/Wishes.php on line 11

を取得します。

<?php 
$mysqli = NEW MySQLi("mysql.hostinger.in","willi","123","pract"); 

global $mysqli; 
$resultSet = $mysqli->query("SELECT user.name AS userName, 
volley.wishes AS userWishes 
FROM user,volley 
WHERE user.name = 'mick' AND volley.id=user.id"); 

$resultSet = array(); 
while($rows = $resultSet->fetch_assoc()){ 
array_push($resultSet, 
array(
$users = $rows['userName'], 
$volleys = $rows['userWishes'])); 
echo json_encode(array("resultSet"=>$resultSet)); 
mysqli_close($con); 
} 
?> 
+0

1.' $ mysqliの=あなたは同じ変数名( '$ resultSet = $ mysqli-> query('))を使ってクエリを実行したのち、それ以降は新しいmysqli( '2.'global $ mysqli;'不要です.3) '$ resultSet = arrayあなたは空の配列でそれを上書きし、次に何かを得るでしょう。 –

+0

william check answers belowもしうまくいけば、受け入れられた答えとして+票1をマークしてください。彼らが有用であれば他の人にも投票できる。ありがとう。 –

答えて

5

あなたはあなたの結果はラインで$resultSet = array();

を設定し破壊している。また、あなたが結果セットのアンロードが過度に複雑な作っている、それはする必要はありません

<?php 
$mysqli = NEW MySQLi("mysql.hostinger.in","willi","123","pract"); 

// remove this line its nonsence  
//global $mysqli; 

$resultSet = $mysqli->query("SELECT user.name AS userName, 
            volley.wishes AS userWishes 
          FROM user,volley 
          WHERE user.name = 'mick' AND volley.id=user.id"); 

// remove this line it destroys your resultset  
//$resultSet = array(); 

$results = array(); 

while($row = $resultSet->fetch_assoc()){ 
    $results[] = $row; 
} 

// this does not belong in the loop 
mysqli_close($mysqli); 
// nor does this 
echo json_encode($results); 
?> 
+0

mysqli_close()に間違った変数を使用したので、答えを編集しました。たぶんそれがあなたを落とした人があなたを落胆させた理由です。それが事実なら、あなたが私に尋ねると、それはかなり不自由です。 –

+1

@RiggsFollyまだ最後のコード文に1つのエラーがあります。 –

+0

@ Fred-ii-ありがとうラルフ。私は戻って何かからの投資回収に苦しんでいると思う。今私のコメントは何らかの理由で削除されています。 – RiggsFolly

関連する問題