Ankündigung

Einklappen
Keine Ankündigung bisher.

MySQL Code funktioniert nicht

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • MySQL Code funktioniert nicht

    Hallo Forum,
    ich bräuchte einmal eure Hilfe beim Fehler suchen eines bereits umgestellten Codes.

    Hier der alte Code: (Der nicht funktionierte wegen PHP5)
    Code:
    <?php
    $link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
    if (!$link) {
        die('Keine Verbindung möglich: ' . mysql_error());
    }
    if (!mysql_select_db('database_name')) {
        die('Konnte Schema nicht selektieren: ' . mysql_error());
    }
    $result = mysql_query('SELECT name FROM work');
    if (!$result) {
        die('Konnte Abfrage nicht ausführen:' . mysql_error());
    }
    echo mysql_result($result, 2); // gibt Name des dritten Angestellten aus
    
    mysql_close($link);
    ?>
    Hier mein bereits umgestellter Code:
    Code:
    <?php
    $link = new mysqli('localhost', 'mysql_user', 'mysql_password');
    if (!$link) {
        die('Keine Verbindung möglich: ' . $link->error);
    }
    if (!$link->select_db('database_name')) {
        die('Konnte Schema nicht selektieren: ' . $link->error);
    }
    $result = $link->query('SELECT name FROM work');
    if (!$result) {
        die('Konnte Abfrage nicht ausführen:' . $link->error);
    }
    echo $result->data_seek( 2); $result->fetch_array()[0]; // gibt Name des dritten Angestellten aus
    
    $link->close;
    ?>
    Der Umgestellte Code funktioniert soweit, dass ich ein Ergebnis erhalte. In der Datenbank Gibt es Drei Einträge (ID, Name).
    Wenn ich aber doch in dem Code angegeben habe, dass ich den Namen erhalten möchte, erhalte ich bei allen Ergebnissen nur die Zahl 1 oder gar kein Ergebnis.

    Ich freue mich auf eine Antwort!

  • #2
    Warum formulierst du deine Abfrage nicht gleich so, dass du den dritten angestellten bekommst? Btw. dritter von welcher Reihenfolge? Diese hast du ja im SQL-Code auch nicht angegeben.

    Kommentar


    • #3
      PHP-Code:
      echo $result->data_seek2); 
      Du gibst den Rückgabewert von data_seek aus.

      Grüße.

      Kommentar


      • #4
        Wie oben in #2 auch schon erwähnt. Hol doch direkt aus der DB was du brauchst, anstatt alles Mögliche und dann erst recht wieder mit PHP rummachen.

        Code:
        SELECT `name` FROM work ORDER BY `name` LIMIT 2, 1
        Bringt dir direkt den dritten Mitarbeiter auf Basis des Namens (aufsteigend) soritert aus der DB.
        The string "()()" is not palindrom but the String "())(" is.

        Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
        PHP.de Wissenssammlung | Kein Support per PN

        Kommentar

        Lädt...
        X