wie Holen nur eine Zeile aus einer mysql-Abfrage
ich immer am Ende tut diese
$q = "select whatIwant FROM table where id = 'myId'";
$r = mysql_query($q);
while($i = mysql_fetch_array($r){
/* iterate just one withem */
$j = $i['whatIwant'];
}
echo $j;
wie wird das normalerweise gemacht? (ich möchte nur vermeiden, die unnötige Schleife)
InformationsquelleAutor Toni Michel Caubet | 2012-03-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zusätzlich zu den richtigen Antworten, es gibt mehrere Möglichkeiten, dies zu behandeln:
Wenn Sie hinzufügen
LIMIT 1
das Ergebnis enthält nur eine Zeile und diewhile
Schleife wird beendet, nachdem eine iteration:Wenn Sie anrufen
mysql_fetch_array
ohne loop, erhalten Sie die erste Zeile der Ergebnismenge:Wenn Sie hinzufügen
break
zu der Schleife, die Schleife wird beendet, nachdem eine iteration.Können Sie auch kombinieren diese Ansätze, die (obwohl mit
break
ist nicht wirklich elegant aus in diesem Fall).Der beste Ansatz ist die Verwendung
LIMIT
und das auslassen derwhile
loop, wie @zaf zeigt in seiner Antwort,. Das macht den code übersichtlicher und vermeidet unnötige Operationen in der Datenbank.InformationsquelleAutor Felix Kling
Können Sie die Anzahl der Zeilen in der sql-Abfrage mit "LIMIT" - syntax.
Auch, können Sie einfach entfernen Sie die while-Schleife und die erste Zeile zurückgegeben - wenn das ist alles, was Sie wollen.
Beispiel (ohne Rückgabewert prüfen):
InformationsquelleAutor zaf
Gut, dann lassen Sie die Schleife:
Diesem wird lediglich die fetch-die erste Zeile.
InformationsquelleAutor Nobody
hinzufügen
LIMIT X, Y
wobei X und der Start-Zeile und Y die Anzahl der Zeilen an, die zurückgegebenhttp://php.about.com/od/mysqlcommands/g/Limit_sql.htm
InformationsquelleAutor Joseph
InformationsquelleAutor juergen d
mysql_fetch_assoc()
ist genau das, was du bist suchen für.http://php.net/mysqli_fetch_assoc
InformationsquelleAutor Arda
Ich denke, du suchst das:
http://php.net/manual/en/function.mysql-fetch-row.php
InformationsquelleAutor KerrM
wählen Sie whatIwant FROM table where id = 'myId' LIMIT 1;
http://dev.mysql.com/doc/refman/5.5/en/select.html
InformationsquelleAutor Sean
InformationsquelleAutor abin