Hallo,
ich möchte gerade von mysql zu mysqli umstellen.
Bei folgender Funktion habe ich ein problem, da es wohl mysqli_result nicht gibt. Wie kann ich denn die Daten einfach ausgeben lassen.
$q = "SELECT * FROM `artikel` WHERE id='$id' "; $res = mysql_query($q); $text = mysql_result($res,0,'text');
neu aber mit Fehler:
Versuchen wird das mal richtig:
Deine Tabelle habe ein Feld "id" und eines "name". Dieses solltest Du auch angeben, denn sonst
- ist das Erfebnis "Zufall"
- die Ergebnismenge größer als nötig.
$q = 'SELECT `name` FROM artikel WHERE `id`=' . intval($id); # Nur sicher ist sicher!
if ($res = mysql_query($q) {
if mysqli_num_rows($res) == 0) {
// Hier ist was zu tun, wenn die Abfrage ein leeres (kein) Ergebnis liefert?
} else if ( mysqli_num_rows($res) == 1 ) {
$row = mysqli_fetch_assoc($res);
$text = $row['name']; ## Dein Ergebnis
} else {
// Hier ist was zu tun, wenn die Abfrage unvermutet mehrere Ergebnisse liefert?
}
} else {
// Hier ist was zu tun, wenn MySQL einen Fehler meldet?
// siehe: http://php.net/manual/de/mysqli.error.php
}
Daneben fällt mir noch auf. dass die Abfrage "eher ungewöhlich" ist. Meist fallen diese komplexer aus. Frage deshalb: Hast Du mehrere Abfragen und verwendest Du womöglich das Ergebnis dieser Abfrage als Bestandteil weiterer Abfragen, vor allem in der where-Klausel?