Wie man eine Zeile mit PDO holt

8

Ich versuche, nicht frustriert zu werden, aber ich habe kürzlich erfahren, dass mysql_* in PHP abgewertet wird. Ich habe beschlossen, dass ich lernen würde, PDO zu verwenden. Ich habe es mir heute Nachmittag angeschaut, und es war einfach, mich mit der Datenbank zu verbinden, aber dann wollte ich eine Zeile damit holen und die Zeile als ein Array speichern, das durch die Spaltennamen indiziert wurde (genau wie die Funktion) mysql_fetch_array tat). Ich kann es nicht herausfinden, um mein Leben zu retten. Ich poste meinen Code, um klarzustellen, und ich bin mir sicher, dass es etwas einfaches ist (alle Programmierfehler sind immer einfach), aber ich mache definitiv etwas falsch.

%Vor%

Danke für die Hilfe.

Alex

    
Alex 26.12.2012, 01:11
quelle

2 Antworten

20

fetchAll macht das, was es sagt: Es ruft alle Ergebnisse für eine Abfrage ab. Da es viele Ergebnisse abruft, erhalten Sie ein indiziertes Array.

fetch führt genau das aus, was Sie suchen, wenn Sie nur eine Zeile haben wollen: Es ruft ein Ergebnis für eine Abfrage ab. Wenn Sie mysql_* code in PDO konvertieren, ist der schnellste Weg, diese Methode anstelle von mysql_fetch_assoc zu verwenden.

Wenn Sie immer noch mit fetchAll arbeiten: Ihr Code würde wahrscheinlich einfach so aussehen:

%Vor%

Wie ich schon sagte, wenn Sie nur Legacy-Code in PDO-Code konvertieren, ist es möglicherweise einfacher, alle Abfragen in vorbereitete Anweisungen zu ändern und das Folgende zu ersetzen:

  • mysql_fetch_assoc($result)
    - & gt; %Code%
  • $stmt->fetch(PDO::FETCH_ASSOC)
    - & gt; %Code%
  • mysql_num_rows($result)
    - & gt; %Code%
Tom van der Woerdt 26.12.2012 01:17
quelle
0

Verwenden Sie

%Vor%

Sie erhalten das erste Abfrageergebnis.

    
Kit 09.07.2017 17:18
quelle

Tags und Links