2009-07-22 15 views
0

Warning: mysql_num_rows(): geliefert Argument ist keine gültige MySQL Ergebnis Ressource in /home/ango/public_html/ficha/findUser.php auf Leitung 201mysql_num_rows() Argument nicht gültig

Dies ist der Code:

$query = mysql_query("SELECT ango_turnos.planilla.fecha_turno, ango_turnos.planilla.cod_estado, ango_personas.dominio_interno.* FROM ango_turnos.planilla RIGHT OUTER JOIN ango_turnos.reserva ON ango_turnos.reserva.id_turno = ango_turnos.planilla.id_turno LEFT OUTER JOIN ango_turnos.paciente ON ango_turnos.reserva.id_reserva = ango_turnos.paciente.id_reserva LEFT OUTER JOIN ango_personas.dominio_interno ON ango_turnos.paciente.id_persona = ango_personas.dominio_interno.id_persona LEFT OUTER JOIN ango_turnos.horario_medico ON ango_turnos.planilla.id_horario = ango_turnos.horario_medico.id_horario"); 

if(mysql_num_rows($query)>0){ 
    while($row = mysql_fetch_array($query)){ 
     //echo some stuff from $row 
    } 
} 

Es gibt keine Warnung oder ein Fehler die Verbindung zur Datenbank beteiligt sind. Dies ist die einzige Warnung, die ich bekomme. SQL-Abfrage funktioniert gut und gibt 4 Zeilen in PHPMyAdmin zurück, so dass ich nicht weiß, was das Problem ist.

Antwort

4

Sie sollten eine Fehlerprüfung nach mysql_query() hinzufügen, um zu sehen, was schief gelaufen ist:

if (!$query) { 
    die('Invalid query: ' . mysql_error()); 
} 
+0

noch besser wäre $ query = mysql_query (...) oder sterben(); – UnkwnTech

+0

Warum noch besser? Völlig subjektiv. – hobodave

+0

Die mysql_query (..) oder sterben (..); ist mehr Perl-ish und wenn (! $ query) ähnelt C. Total über persönlichen Stil :) – MoshiBin

2

Chancen gibt es bei der Ausführung von SQL-Abfrage ein Fehler gewesen ist.

Sie können das mit msqyl_errno und mysql_error überprüfen.

(Als Nebenbemerkung: Ausgabe der Fehlermeldung ist gut, während Sie auf Ihrem Entwicklungscomputer sind, sollte aber nie getan werden, sobald Sie auf einem Produktionsserver sind: es sollte dann in einer Datei protokolliert werden; Vergessen Sie nicht, eine Konfigurationsoption oder ähnliches einzugeben.

Als weiterer Seitenknoten: Die "Abfrage" ist die SQL-Zeichenfolge, die Sie an mysql_query übergeben; nicht das Ergebnis dieser Funktion, also sollte Ihre $query Variable einen anderen Namen haben, damit der Code in Zukunft leichter verständlich wird.