Ich möchte einige Statistiken für mein Adminpanel bekommen. Ich habe zwei Tabellen namens Benutzer und cms_prosjekt. Ich möchte zählen, wie viele Projekte das gleiche Attribut wie Benutzer haben.LEFT JOIN MySQL und PHP
Jeder Benutzer hat ein Motto, das mit einem Projekt verbunden ist. Zum Beispiel: Motto ist Geist und der Projektcode ist Geist. Es wird nichts zurückgeben. Ich habe zwei Benutzer mit demselben Motto wie Code in einem Projekt.
<?php
$result = mysql_query("SELECT
users.id,
COUNT(users.motto) AS count
FROM
users
LEFT JOIN cms_prosjekt ON
users.motto=cms_prosjekt.code
GROUP BY
users.motto");
$num_rows = mysql_num_rows($result);
echo "$num_rows";
?>
, wenn die Abfrage erfolgreich war, Sie eine Nummer bekommen würde. Da Sie NOTHING erhalten, ist Ihre Abfrage fehlgeschlagen, Boolean False zurückgegeben, und da Sie absolut KEINE Fehlerbehandlung haben und einfach angenommen, dass nichts jemals falsch gehen kann, erhalten Sie diese Boolean False als eine Zeichenfolge, die eine Nulllänge/unsichtbare Zeichenfolge ist. –
Wie ich geschrieben habe, habe ich zwei Benutzer, die das gleiche Motto wie ein Projekt haben. Also sollte es zwei zurückgeben? –
Verwenden Sie nicht die veralteten mysql_ interface-Funktionen für die Neuentwicklung. Verwenden Sie mysqli oder PDO. Dieser Code setzt seinen figürlichen kleinen Finger in die Ecke seines figurativen Mundes und sagt Dr.Evil Stil. "Ich gehe davon aus, dass alles nach Plan läuft. Was?" Wenn die Abfrage einen Fehler feststellt, gibt MySQL eine Fehlermeldung aus. Dieser Code scheint die Idee, dass MySQL einen Fehler zurückgibt, völlig zu ignorieren. – spencer7593