MySQL einträge zählen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
abfragen
anzahl
auslese
betreff
code
datum
fehler
fehlermeldung
feld
machen
parameter
re
spalte
tabelle
url
video
webseite
zahl
zeile
-
Hallo zusammen,
Ich stehe gerade richtig auf dem Schlauch :((
Ich möchte alle MySQL Einträge in der Tabelle hans zählen, wo die Variable $x mit dem wert in der Spalte titel übereinstimmt. Und diese dann als Zahl ausgeben.
Bin gerade übelst verwirrt, brauche nur kurz die Code zeile, blicke in dem Internet gewirre gernicht mehr durch :(( -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Wie wärs mit
SELECT COUNT(*) FROM tabelle WHERE bedingung
?
Also in deinem Beispiel eher so:$title = mysql_real_escape_string($x); // was auch immer in $x steht $query = "SELECT COUNT(*) FROM hans WHERE title = '$title'"; $result = mysql_query($query); // und jetzt noch die 1. Zeile auslesen
Um mysqli oder PDO darfst du dich kümmern.
Beitrag zuletzt geändert: 27.10.2013 19:17:40 von hackyourlife -
MySQL Einträge zählen
z.B. so
mysql_query("SELECT COUNT(*) AS anzahl FROM table_name WHERE titel ='".$x."'") $res = mysql_fetch_array($counter); $count = $res["anzahl"]; print "<p>Anzahl: " . $count . "</p>\n");
oder so
mysql_query("SELECT * FROM table_name WHERE titel ='".$x."'") $count = mysql_num_rows($res); print "<p>Anzahl: " . $count . "</p>\n");
ich glaub die erste Version ist performanter (schneller)
aber bei der zweiten kann man anstatt * (= Alle Felder) auch nur ein Feld (z.B: id) einlesen
PS: ... das table_name natürlich noch durch Deinen Tabellen-Name ersetzen
oder auch als Variable... FROM ".$my_table." WHERE ...
EDIT ... oh, da war jemand schneller :)
EDIT2 ... der Code ist Fehlerhaft .. richiger Code siehe hier weiter unten ... :)
Wollte je auch eigentlich nur die 2 möglichen SELECT Abfragen zeigen ... :oO^^
Beitrag zuletzt geändert: 27.10.2013 20:14:24 von webnfo -
irgendwie hat mir das beides nicht geholfen. da kommen immer fehler raus oder garnichts.
webnfo variante 2:
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\LP Webseite\scripts\lp.php on line 26
webnfo variante 1:
Notice: Undefined variable: counter in C:\xampp\htdocs\LP Webseite\scripts\lp.php on line 29
Warning: mysql_fetch_array() expects parameter 1 to be resource, null given in C:\xampp\htdocs\LP Webseite\scripts\lp.php on line 29
haclyourlife:
kein fehler und keine zahl
hab es aber jeztz so angepasst nach der reihenfolge von oben:
//$res = mysql_query("SELECT * FROM videos WHERE lp ='".$betreff."'"); //$video = mysql_num_rows($res); //mysql_query("SELECT COUNT(*) AS anzahl FROM videos WHERE lp ='".$betreff."'"); //$res = mysql_fetch_array($counter); //$video = $res["anzahl"]; $title = mysql_real_escape_string('$betreff'); // was auch immer in $x steht $query = ('SELECT COUNT(*) FROM videos WHERE lp = "$titel"'); $video = mysql_query($query); // und jetzt noch die 1. Zeile auslesen
-
ja ... hab da
zwei... drei Fehler .... sorry
nach der Zeile mit mysql_query jeweils ein Strichpunkt
das $res = mus vor die Zeile mit mysql_query
und bei Variante 2 fehlt die Zeile mit mysql_query ganz.
$query = "SELECT COUNT(*) AS anzahl FROM table_name WHERE titel ='".$x."'"; $res = mysql_query($query); $data = mysql_fetch_array($res); $count = $data["anzahl"]; print "<p>Anzahl: " . $count . "</p>\n");
$query = "SELECT * FROM table_name WHERE titel ='".$x."'"; $res = mysql_query($query); $data = mysql_fetch_array($res); $count = mysql_num_rows($data); print "<p>Anzahl: " . $count . "</p>\n");
so ... jetzt sollte beides gehen ... :xD
-
Fehlermeldung: Warning:
mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\LP Webseite\scripts\lp.php on line 30
bei:
$query = mysql_query('SELECT COUNT(*) AS anzahl FROM videos WHERE lp ='.$betreff); $res = mysql_query($query); $data = mysql_fetch_array($res); $video = $data["anzahl"];
und der gleiche fehler auch bei:
$query = 'SELECT COUNT(*) AS anzahl FROM videos WHERE lp ="'.$betreff.'"'; $res = mysql_query($query); $data = mysql_fetch_array($res); $video = $data["anzahl"];
-
dueselps schrieb:
Etwas Mitdenken ist gewünscht … wenn du das Ergebnis nicht ausliest und ausgiebst wird es wohl auch nicht angezeigt werden.
haclyourlife:
kein fehler und keine zahl
@webnfo:
wenn dich nur die Anzahl interessiert, solltest du niemals die Daten abfragen, sondern auch wirklich nur die Anzahl!
Außerdem ist dein Code nicht sicher, du solltest jegliche Parameter, die irgendwie in der Query landen vorher richtig escapen. Zum Ende noch:$s = "Text mit $var als Variablen"; // ist besser als $s = "Text mit " . $var . " als Variablen";
Vorallem auch weil es leichter lesbar und weniger fehleranfällig ist. -
ist $resault nicht das ergebniss?
hab es auch nochmal so probier, kommt aber auch der fehler raus:
$title = mysql_real_escape_string('$betreff'); // was auch immer in $x steht $query = ('SELECT COUNT(*) FROM videos WHERE lp = "$titel"'); $res = mysql_query($query); // und jetzt noch die 1. Zeile auslesen $data = mysql_num_rows($res); $video = $data["anzahl"];
Nachtrag habe es jetzt auch das gekürtzt, es kommt keine fehlermeldung:
$query = ('SELECT COUNT(*) FROM videos WHERE lp = $betreff'); $res = mysql_query($query); $video = $res["anzahl"];
Beitrag zuletzt geändert: 27.10.2013 21:12:38 von dueselps -
dueselps schrieb:
Fehlermeldung: Warning:
mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\LP Webseite\scripts\lp.php on line 30
sorry
das ist natürlich Quatsch
$query = mysql_query('SELECT COUNT(*) AS anzahl FROM videos WHERE lp ='.$betreff); $res = mysql_query($query);
so dann
$query = "SELECT COUNT(*) AS anzahl FROM videos WHERE lp='$betreff'"; $res = mysql_query($query); $data = mysql_fetch_array($res); $video = $data["anzahl"]; // ---- oder = $data[0]; ---- print "<p>Anzahl: $video</p>\n");
habs oben auch geändert.
ABER es geht ja hier hauptsächlich um die MySQL Abfrage:SELECT COUNT(*)
und alles andere sollte man selber hinbekommen ... ob jetzt mysql_fetch_array, mysql_fetch_row, etc.
EDIT: @hackyourlife hats noch besser mit mysql_real_escape_string()
Beitrag zuletzt geändert: 27.10.2013 21:32:55 von webnfo -
@dueselps: Das ist immer noch falsch…
Mein letzter Codeschnipsel für den Thread:
$x = 'dein Titel'; // du meintest doch »was in der Variablen $x steht« $title = mysql_real_escape_string($x); // was auch immer in $x steht $query = "SELECT COUNT(*) FROM hans WHERE title = '$title'"; $result = mysql_query($query); // Abfrage ausführen $row = mysql_fetch_array($result); // Daten abholen $count = $row[0]; // Spalte auslesen mysql_free_result($result); // Speicher freigeben echo("Anzahl: $count"); // Anzahl auf dem Bildschirm bewundern
Beitrag zuletzt geändert: 27.10.2013 21:30:34 von hackyourlife -
Was macht ihr das dem armen Jungen so schwierieg?
Easy going.
<? $count= mysql_num_rows(mysql_query("SELECT * FROM `table`")); echo $count; ?>
Greez. -
keytsolution schrieb:
Was macht ihr das dem armen Jungen so schwierieg?
Easy going.
<? $count= mysql_num_rows(mysql_query("SELECT * FROM `table`")); echo $count; ?>
Greez.
Wie bereits erwähnt will er nur die Anzahl, nicht die ganzen Daten von mysql auslesen lassen und nach php schicken lassen. Das ist in der Praxis ein himmelweiter unterschied. Der letzte Schnipsel von hackyourlife ist doch einwandfrei und ist praxistauglich -
Es funktioniert aber immer noch nicht, es kommt immer der Fehler:
mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\LP Webseite\scripts\lp.php on line 30
Was drückt der Fehler denn aus? oder hat irgendwer noch eine Idee? -
dueselps schrieb:
Der Fehler sagt, dass etwas bei der Abfrage fehlgeschlagen hat. Wenn du wissen willst, was die Ursache ist, musst du vor dem
Was drückt der Fehler denn aus?
, aber nach demmysql_fetch_array()
folgende Zeile infügen:mysql_query()
echo mysql_error();
Meine Vermutung: du hast den Tabellennamen in der Abfrage nicht angepasst
Tipp: verwend den Code von keytsolution nicht, da dieser langsamer ist und mehr Ressourcen benötigt. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage