anzahl der db einträge funktion geht nicht

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
langeweile
Gesperrt
Beiträge: 234
Registriert: 03.12.2006 14:48
Kontaktdaten:

anzahl der db einträge funktion geht nicht

Beitrag von langeweile »

habe folgenden code geschrieben:

Code: Alles auswählen

<?php
include ("dbconnect.php");
$db_zeilen = "SELECT count(*) as total FROM Vokabeln"; 
$db_zeilen_now = mysql_query($db_zeilen); 
$row = mysql_fetch_row($db_zeilen_now); 
$zeilen = $row['total'];
echo "in der datenbank befinden sich $zeilen Einträge";
?>

aber wenn ich die datein aufrufe steht da nur:
in der datenbank befinden sich Einträge

es wird also die varible zeilen nicht angezeigt

wieso???
BB-BF-BM
Mitglied
Beiträge: 2179
Registriert: 28.10.2005 16:38
Wohnort: Essen

Beitrag von BB-BF-BM »

probier mal mysql_fetch_assoc
Benutzeravatar
Jan500
Ehemaliges Teammitglied
Beiträge: 4199
Registriert: 01.03.2003 21:32
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Jan500 »

guck dir auch mal mysql_num_rows an... und mach mal count(1) statt count(*) geht schneller:)

Jan
"Life begins at 40 Knots...!" :D
kein (kostenlosen) Support per pn, mail, icq usw. | Kostenlosen Support gibt es hier im Forum!
langeweile
Gesperrt
Beiträge: 234
Registriert: 03.12.2006 14:48
Kontaktdaten:

Beitrag von langeweile »

ok danke es geht
langeweile
Gesperrt
Beiträge: 234
Registriert: 03.12.2006 14:48
Kontaktdaten:

Beitrag von langeweile »

aber ich habe jetzt noch eine frage, ich habe jetzt den code so umgeschrieben:

Code: Alles auswählen

<?php
include ("dbconnect.php");
$wort = "verb";
$db_zeilen = "SELECT count(*) as total FROM Vokabeln WHERE wortart=$wort"; 
$db_zeilen_now = mysql_query($db_zeilen); 
$row = mysql_fetch_assoc($db_zeilen_now); 
$zeilen = $row['total'];
echo "in der datenbank befinden sich $zeilen verben";
?>

damit will ich berechnen, wie viele wörter in der tabelle sind, bei denen in der tabelle wortart verb steht.
aber wenn ich es ausführe kommt der fehler

Code: Alles auswählen

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /var/www/web12/html/hilde/latein/zeile.php on line 6
Benutzeravatar
Banger
Ehemaliges Teammitglied
Beiträge: 375
Registriert: 03.05.2005 21:53
Wohnort: Düsseldorf
Kontaktdaten:

Beitrag von Banger »

langeweile hat geschrieben:damit will ich berechnen, wie viele wörter in der tabelle sind, bei denen in der tabelle wortart verb steht.
aber wenn ich es ausführe kommt der fehler
Strings müssen in Anführungsstrichen eingeschlossen sein, ansonsten werden sie als Spaltennamen interpretiert.

Richtig (und in Bezug auf die reine Zählung einfacher) wäre es so:

Code: Alles auswählen

<?php
require('dbconnect.php');
$wort = "verb";
$db_zeilen = "SELECT COUNT(1) FROM `Vokabeln` WHERE `wortart`='$wort'"; 
$db_zeilen_now = mysql_query($db_zeilen) or trigger_error(mysql_error()); 
$zeilen = mysql_result($db_zeilen_now, 0, 0);
echo "in der datenbank befinden sich $zeilen verben";
?>
langeweile
Gesperrt
Beiträge: 234
Registriert: 03.12.2006 14:48
Kontaktdaten:

Beitrag von langeweile »

ok danke das geht, aber was ist der unterschied zwischen

inlcude und require?
Jensemann
Ehemaliges Teammitglied
Beiträge: 2549
Registriert: 25.02.2002 01:00

Beitrag von Jensemann »

langeweile hat geschrieben:ok danke das geht, aber was ist der unterschied zwischen

inlcude und require?
Der Link scheint mir das am besten zu erklären:

http://www.webinteger.net/magazin/artic ... d-include/
langeweile
Gesperrt
Beiträge: 234
Registriert: 03.12.2006 14:48
Kontaktdaten:

Beitrag von langeweile »

ok danke, ich habe es mir durchgelesen

aber warum hat banger in diesem code require benutzt, wenn da doch gar keine schleife o.ä. vorhanden ist, gibt es dafür einen grund oder einfach so?
Benutzeravatar
Banger
Ehemaliges Teammitglied
Beiträge: 375
Registriert: 03.05.2005 21:53
Wohnort: Düsseldorf
Kontaktdaten:

Beitrag von Banger »

langeweile hat geschrieben:aber warum hat banger in diesem code require benutzt, wenn da doch gar keine schleife o.ä. vorhanden ist, gibt es dafür einen grund oder einfach so?
Ich habe es mir angewöhnt, "existenziell notwendige" zusätzliche Skripte immer per require() bzw. require_once() einzubinden; der Grund dafür ist nicht zuletzt im letzten Abschnitt des von Jensemann verlinkten Artikels zu finden:
Während include() bei einem Aufruf einer nicht existierenden Datei lediglich eine Warnung ausgibt, unterbricht require() komplett die Ausführung des Skriptes und gibt einen Fehler aus.
Antworten

Zurück zu „Coding & Technik“