Funktion
function mysql_get_var($query,$y=0){
$res = mysql_query($query);
$row = mysql_fetch_array($res);
mysql_free_result($res);
$rec = $row[$y];
return $rec;
}
Verwendung
$name = mysql_get_var("SELECT name from people where email = '[email protected]'");
Gibt das Namensfeld zurück, sodass „Roger“ zurückgegeben wird (wenn das mein Name in der Datenbank war).
Funktioniert das mit mehreren Zeilen, falls ich die Namens-Tabelle behalten möchte, könnte ich damit mysql_fectch_array verwenden?
schaut euch meine seite an
Nein, diese Funktion funktioniert nur für die Rückgabe einer Zeile.
Was die Funktion betrifft: Wenn $y nur eine Ganzzahl zulässt, um anzugeben, welches Feld ausgewählt werden soll, dann wäre es besser, mysql_fetch_row anstelle von mysql_fetch_array zu verwenden.
Außerdem können Sie einfach tun
return $row[$y];
anstatt eine neue Variable zu erstellen.
Ich möchte Ihnen von ganzem Herzen danken. Ich habe die letzten 4 Stunden damit verbracht herauszufinden, was ich falsch gemacht habe, bin zu CSS-Tricks gekommen, habe das hier gefunden, meine Probleme sind behoben. Danke.
Noch einfacher ist es, das Schlüsselwort LIMIT für MySQL zu verwenden, also wäre Ihre Abfragestring im obigen Beispiel…
SELECT name FROM people WHERE email = ‚[email protected]‘ LIMIT 1
Was Ihnen den ersten Datensatz geben würde, auf den MySQL stößt. Dies kann durch verschiedene Sortierungen geändert werden, wie z. B.
ORDER BY id oder
ORDER BY date etc.
MySQL ist darauf optimiert, die Daten auf diese Weise schneller abzurufen als PHP. Auf Ihre Weise würde MySQL viel Zeit damit verbringen, vielleicht 10.000 Datensätze zu packen und zu liefern, während bei der Verwendung von LIMIT bekannt ist, dass nur 1 Datensatz schnell verpackt wird.
Danke. Ich habe ewig gesucht, um genau das zu finden. Das Beste von allem ist, dass es tatsächlich funktioniert!
VIELEN VIELEN DANK!!! Das war sehr, extrem nützlich! Danke danke.