Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [PHP] Anzahl der Datensätze einer Tabelle in einer MySQL DB (https://www.delphipraxis.net/74042-%5Bphp%5D-anzahl-der-datensaetze-einer-tabelle-einer-mysql-db.html)

Christian18 27. Jul 2006 10:29


[PHP] Anzahl der Datensätze einer Tabelle in einer MySQL DB
 
Hallo,

ich habe gerade versucht die Anzahl der Datensätze in einer Tabelle meiner MySQL Datenbank zu ermitteln. Leider funktioniert es nicht so ganz. Ich habe hier mal meinen Code:

Code:
      $count = mysql_query("SELECT COUNT(*) AS [Anzahl der Datensätze] FROM user");
      echo $count;
PS: So habe ich es aus meinem PHP + MySQL Handbuch!

MFG Christian18

DIET3RIX 27. Jul 2006 10:31

Re: [PHP] Anzahl der Datensätze einer Tabelle in einer MySQL
 
Hi,

guck dir einfach ma die Funktion hier an -> http://de.php.net/mysql_num_rows

Christian18 27. Jul 2006 10:40

Re: [PHP] Anzahl der Datensätze einer Tabelle in einer MySQL
 
Hallo,

kann man es nicht auch über eine SQL Abfrage machen??? Also ich meine mit Count???

MFG Christian18

DIET3RIX 27. Jul 2006 10:45

Re: [PHP] Anzahl der Datensätze einer Tabelle in einer MySQL
 
Klar ;)
versuchs ma hiermit ;)

Code:
$query = mysql_query("SELECT count(*) as anzahl FROM news");
$row = mysql_fetch_array($query);
$anzahl = row['anzahl'];

Flare 27. Jul 2006 12:07

Re: [PHP] Anzahl der Datensätze einer Tabelle in einer MySQL
 
Geht es nicht ein bisschen schneller wenn man
SQL-Code:
$query = mysql_query("SELECT count(id) as anzahl FROM news");
$row = mysql_fetch_array($query);
$anzahl = row['anzahl'];
sagt? Natürlich muss das Feld "id" den selben Namen haben wie das ID-Feld in der Datenbank...dann sucht der sich nämlich nicht erst alle Werte raus sondern zählt nur die vorhandenen IDs...dürfte schneller sein als wenn der noch zusätzlich die Newstexte und andere Daten mitnimmt. Oder irre ich mich da?


Flare

Chewie 27. Jul 2006 12:18

Re: [PHP] Anzahl der Datensätze einer Tabelle in einer MySQL
 
Klar ist sowas wie
SQL-Code:
SELECT spalte1, spalte2 FROM blabla
schneller als
SQL-Code:
SELECT * FROM blabla
Bei COUNT(*) dürfte das aber keinen Unterschied machen, da sich COUNT ja immer nur auf ganze Zeilen bezieht und es egal ist, welches Argument in den Klammern steht. Ich kann mir nicht vorstellen, dass ein SQL-Server sowas nicht optimiert.

Christian18 27. Jul 2006 13:59

Re: [PHP] Anzahl der Datensätze einer Tabelle in einer MySQL
 
Hallo,

ist es auch möglich diese Beiden SQL Anweisungen zu zusammenzuführen???

SELECT Benutzer, Passwort FROM benutzer WHERER Benutzer='Chris' and Passowort='tian18'

wenn der befehl ausgeführt ist, dann soll die anzahl ermittelt werden. Ist das möglich???

MFG Christian18

DIET3RIX 27. Jul 2006 14:17

Re: [PHP] Anzahl der Datensätze einer Tabelle in einer MySQL
 
Klar.

entweder

Code:
$query = mysql_query("SELECT count(id) as anzahl FROM benutzer WHERE Benutzer='benutzer' and Passowort='passwort' ");
$row = mysql_fetch_array($query);
$anzahl = row['anzahl'];
oder

Code:
$query = mysql_query("SELECT Benutzer, Passwort FROM benutzer WHERE Benutzer='benutzer' and Passowort='passwort' ");
$anzahl = mysql_num_rows($query);
Kann sein, dass da paar kleine fehler sind.....
Ist ja alles ungetestet, da ich auf der Arbeit bin.

JayBee 29. Jul 2006 09:20

Re: [PHP] Anzahl der Datensätze einer Tabelle in einer MySQL
 
falls das ganze für ne passwort-abfrage ist, würde ich zum einen empfehlen, die passwörter nciht direkt in der datenbank zu speichern, sondern par MD5 zu "verschlüsseln".
der code von DIET3RIX ist schon rihctig, für eine passwortabfrage reicht dann aber das ganze ohne $anzahl, also:
Code:
$query = mysql_query("SELECT Benutzer, Passwort FROM benutzer WHERE Benutzer='benutzer' and Passowort=md5('passwort')");
if (mysql_num_rows($query) {
 // der code
} else {
 // falls ein falsches passwort oder falscher benutzername angegeben wurde
}


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:25 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz