57 Stimmen

Einfacher Weg zum Lesen einzelner Datensätze aus MySQL

Wie kann ich mit PHP am besten einen einzelnen Datensatz aus einer MySQL-Datenbank auslesen? Z.B.:

SELECT id FROM games

Ich habe versucht, eine Antwort in den alten Fragen zu finden, hatte aber kein Glück.

6 Stimmen

"SELECT id FROM games" gibt zurück todo Aufzeichnungen. Wenn Sie alle möglichen Werte aus einem Feld (id) haben wollen, sind die folgenden Antworten richtig. Wenn Sie nur eine Zeile benötigen, müssen Sie eine WHERE-Klausel zu Ihrer SQL-Anweisung hinzufügen.

5voto

MaggusK Punkte 565

Eine weitere Antwort für den objektorientierten Stil. Ich habe diese Lösung für mich gefunden:

$id = $dbh->query("SELECT id FROM mytable WHERE mycolumn = 'foo'")->fetch_object()->id;

gibt nur einen Ausweis zurück. Vergewissern Sie sich, dass Ihr Entwurf die richtige Kennung enthält.

2voto

Chris Dale Punkte 2232

Zuerst stellen Sie eine Verbindung zu Ihrer Datenbank her. Dann erstellen Sie den Abfrage-String. Dann starten Sie die Abfrage und speichern das Ergebnis, und schließlich holen Sie die gewünschten Zeilen aus dem Ergebnis mit einer der Abrufmethoden.

$link = mysql_connect('localhost','root','yourPassword')
mysql_select_db('database',$link);
$sql = 'SELECT id FROM games'
$result = mysql_query($sql,$link);

$singleRow = mysql_fetch_array($result) 
echo $singleRow;

Edit: Entschuldigung, ich habe die Datenbankverbindung vergessen. Habe sie jetzt hinzugefügt

1 Stimmen

Dies könnte eine Abfrage ausführen, die Tausende von Zeilen zurückgibt

2voto

markus Punkte 39397

Abgesehen von der "besten Methode" gibt es einige übliche Methoden, einen einzelnen Datensatz mit PHP aus der Datenbank abzurufen, die so funktionieren:

mit mysqli

$sql = "SELECT id, name, producer FROM games WHERE user_id = 1";
$result = $db->query($sql);
$row = $result->fetch_row();

mit Zend Framework

//Innerhalb der Tabellenklasse

$select = $this->select()->where('user_id = ?', 1);  
$row = $this->fetchRow($select);

2voto

Powerlord Punkte 84404

Der einfachste Weg ist die Verwendung von mysql_result . Ich habe einen Teil des Codes aus anderen Antworten kopiert, um Zeit zu sparen.

$link = mysql_connect('localhost','root','yourPassword')
mysql_select_db('database',$link);
$sql = 'SELECT id FROM games'
$result = mysql_query($sql,$link);

$num_rows = mysql_num_rows($result);

// i is the row number and will be 0 through $num_rows-1
for ($i = 0; $i < $num_rows; $i++) {
    $value = mysql_result($result, i, 'id');
    echo 'Row ', i, ': ', $value, "\n";
}

1voto

Vasilii Suricov Punkte 665
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$db = new mysqli('localhost', 'tmp', 'tmp', 'your_db');  
$db->set_charset('utf8mb4');

if($row = $db->query("SELECT id FROM games LIMIT 1")->fetch_row()) { //NULL or array
    $id = $row[0];
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X