Auslesen eines Datensatzes aus einer MySQL-Datenbank
Martin
- php
Ich habe folgendes Problem:
Ich übergebe von einem PHP-Script die Variable $id einem anderen. Funktioniert auch prima. In der SQL-Tabelle ist eine zweite Spalte "firma". Ich möchte jetzt die Firma, welche zu der id gehört, auf dem Bildschirm darstellen. Hierzu habe ich folgendes Script, welches jedoch nicht funktioniert.
$result=MYSQL_QUERY( "SELECT * FROM $tabelle order by id");
echo "Die Id ist $id";
for ($i=0; $i<$id; $i++)
$firma = mysql_result($result, $i, "firma");
echo "Die Firma ist $firma";
Weiß jemand, was ich falsch mache bzw. wie es korrekt aussehen müßte?
Martin
Hallo Martin,
$result=MYSQL_QUERY( "SELECT * FROM $tabelle order by id");
hier sollte ein WHERE id = $id helfen, dann bekommst du nur die Firma die du suchst zurück.
Grüße aus Nürnberg
Tobias
Hallo!
$result=MYSQL_QUERY( "SELECT * FROM $tabelle order by id");
hier sollte ein WHERE id = $id helfen, dann bekommst du nur die Firma die du suchst zurück.
...und die vom mySQl-Server zurück gegebene Zeile sollte auch "abgeholt" werden:
$row=mysql_fetch_array($result);
$firma=$row["firma"];
Gruss Sven
Hallo Martin,
Ich übergebe von einem PHP-Script die Variable $id einem anderen. Funktioniert auch prima. In der SQL-Tabelle ist eine zweite Spalte "firma". Ich möchte jetzt die Firma, welche zu der id gehört, auf dem Bildschirm darstellen. Hierzu habe ich folgendes Script, welches jedoch nicht funktioniert.
$result=MYSQL_QUERY( "SELECT * FROM $tabelle order by id");
Du holst hier _ALLE_ Datensätze die in deiner Tabelle stehen,
Du willst aber nur _eine_ _einzige_ Zelle haben.
-> riesiger Overhead und Performanceverlust
for ($i=0; $i<$id; $i++)
$firma = mysql_result($result, $i, "firma");
Hier holst Du Dir von _ALLEN_ Datensätzen, mit einer id kleiner
der gesuchten, die Zelle Firma und überschreibst sie so lange
bis Du bei id angekommen bist
-> noch mehr Performanceverlust
Wenn Du also einfach folgendes schreibst
$result = mysql_query("SELECT firma FROM $tabelle WHERE id=$id");
$firma = mysql_result($result, 0);
wird Dein Script - vor allem bei einer großen Datenbank - wirklich
_deutlich_ schneller laufen...
Gruß,
dimde
(der gerade wegen den, sich in letzter Zeit häufenden,
SQL-mit-PHP-Ersetzungsversuchen verzweifelt)