2016-07-02 5 views
0

Ich habe eine Datenbank mit zwei Tabellen Name 'Benutzer' & 'volley' gemacht. Dieser PHP-Code hilft mir, diese Tabellen zu verbinden und die Daten abzurufen.Schwerwiegender Fehler: Aufruf an eine Member-Funktion fetch_assoc() auf einem Nicht-Objekt tritt auf, wenn ich versuche, meinen PHP auszuführen

Ich erhalte diesen Fehler

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

, während ich versuche, meinen PHP-Code auszuführen.

<?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 = sein new mysqli ('2.'global $ mysqli;' not required.3. '$ resultSet = array();' Zuerst haben Sie mit dem gleichen Variablennamen abgefragt ('$ resultSet = $ mysqli-> query (')) und danach Sie überschreiben es mit einem leeren Array und dann, wie Sie alles bekommen. Ändern Sie den Namen –

+0

William überprüfen Antworten unten und wenn gearbeitet, dann markiere + up-vote eins als akzeptierte Antwort. Sie können auch andere abstimmen, wenn sie auch nützlich sind. Vielen Dank. –

Antwort

5

Sie zerstören Sie Ihr Ergebnis mit der Linie gesetzt $resultSet = array();

Auch machen Sie das Entladen des Suchresultates zu komplex es muss nicht

<?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

Ich habe deine Antwort bearbeitet, da du die falsche Variable für mysqli_close() benutzt hast. Vielleicht ist das der Grund, warum jeder, der dich herabgestuft hat, dich herabgestuft hat. Wenn das der Fall ist, ist es ziemlich lahm, wenn du mich fragst. –

+1

@RiggsFolly noch ein Fehler gibt es in der allerletzten Code-Anweisung. –

+0

@ Fred-ii- Danke Ralph. Ich glaube, ich leide an einer Rückzahlung von etwas zurück. Jetzt wurde mein Kommentar aus irgendeinem Grund entfernt. – RiggsFolly

Verwandte Themen