Suchen
Inside Forum
Nützliche Links




 
phpforum.de bei Facebook
 
phpforum.de bei Twitter
 

Zurück   PHP Forum: phpforum.de > PHP > PHP

PHP Alles rund um PHP

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 03.04.2018, 21:43
hmeise hmeise ist offline
Neuer Besucher
 
Registriert seit: 08.07.2015
Beiträge: 8
Standard PDO und JSON Fehler: Object(PDO)

Grüße.

Habe das Problem, dass mir kein funktionierendes JSON zurückgeliefert wird:

PHP Quellcode:
$sql = "SELECT * FROM benutzer";
$stmt = $pdo->prepare($sql);
$stmt->execute();
$output = [];

while ($row = $stmt->fetchObject()) {
    $output[] = $row;
}

if (json_last_error()!==JSON_ERROR_NONE) {
    echo json_last_error_msg();
    exit;
}

header('Content-Type: application/json');
echo json_encode($output);


Als Ausgabe erhalte ich:

PHP Quellcode:
object(PDO)#1 (0) {
}
[{"id":"1","username":"harald","passwort":"entering"},{"id":"2","username":"karin","passwort":"entering"}]


Warum habe ich dieses "Object(PDO)#1 usw dabei? Hab schon eineige Tuts im Internet nachgebaut, immer das gleiche.

Bin kurz vorm verzeifeln
Mit Zitat antworten
  #2  
Alt 03.04.2018, 23:05
Kasalop Kasalop ist offline
Forum-Mitarbeiter
 
Registriert seit: 29.12.2006
Ort: München
Beiträge: 5.799
Standard AW: PDO und JSON Fehler: Object(PDO)

Wo ist das Programmstück, in welchem du die PDO Verbindung aufbaust? Da muss irgendwo eine Ausgabe dieses Objekts stattfinden (schau mal wo $pdo überall vorkommt)

Lg Kasalop
__________________
Es gibt 10 Arten von Menschen auf der Welt. Die die die binäre Mathematik verstehen und die die sie nicht verstehen!

Zu welcher der Gruppen gehörst du?
Mit Zitat antworten
  #3  
Alt 04.04.2018, 10:05
hellbringer hellbringer ist offline
Forum-Mitarbeiter
 
Registriert seit: 27.03.2008
Beiträge: 31.029
Standard AW: PDO und JSON Fehler: Object(PDO)

Irgendwo im Code ist ein var_dump() Aufruf.
Mit Zitat antworten
  #4  
Alt 05.04.2018, 13:36
christian_r christian_r ist offline
Engagierter Besucher
 
Registriert seit: 06.08.2007
Ort: Dresden, Germany
Beiträge: 1.099
Standard AW: PDO und JSON Fehler: Object(PDO)

Zitat:
Zitat von hmeise Beitrag anzeigen
Grüße.
PHP Quellcode:
/* ... */
while ($row = $stmt->fetchObject()) {
    $output[] = $row;
}

if (json_last_error()!==JSON_ERROR_NONE) {
    echo json_last_error_msg();
    exit;
}

header('Content-Type: application/json');
echo json_encode($output);
Weil mir das auffällt:

Wieso prüfst Du in diesem Script an oben gezeigter Stelle auf JSON Fehler? Das wären dann Fehler die von einer ganz anderen Operation mit json_encode oder json_decode aufgetreten sind. Die solltest Du aber auch dort abfangen und verarbeiten. Nicht nach dem Aufbau Deines noch zu enkodierenden Objekts.

Und da am Ende dieses Scripts Fehler beim Enkodieren auftreten können, solltest Du anschließend auf jeden Fall eine Fehlerprüfung implementieren.

Wenigstens in dieser Form:

PHP Quellcode:
$encodedOutput = json_encode( $output );
if ( json_last_error() !== JSON_ERROR_NONE )
{
    /* Error Handling here */
}
else
{
    header( 'Content-Type: application/json' );
    header( 'Content-Length: ' . (string) strlen( $encodedOutput ) );
    echo $encodedOutput;
}
__________________
Christian Ramelow
Mit Zitat antworten


Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu
Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Fehler: Cannot use object of type stdClass engel4u PHP 3 28.01.2017 17:35
Ein Teil JSON object kopieren in array morris7 JavaScript 6 01.07.2012 10:03
Probleme beim Auslesen von JSON Object in JavaScript barrachiel JavaScript 12 04.05.2011 16:26
Object / Klasse / OOP -> Ein Object aus einem Object aufrufen(parent Object...) chris_1980 PHP 2 27.07.2008 07:27
Fehler mit undefiniertem DOM und erwartetem Object joky99 Sonstiges 4 14.03.2008 14:31


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:31 Uhr.


Powered by vBulletin® Version 3.8.8 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Powered by NuWiki v1.3 RC1 Copyright ©2006-2007, NuHit, LLC