2016-11-01 1 views
-1

Ich habe ein einfaches Formular erstellt, das die Übereinstimmung des eingegebenen Benutzernamens mit einem in der Datenbank sucht und seinen Vor- und Nachnamen anzeigt. Ich habe ein Problem bei der Anzeige von Fehlern. Es sollte NULL oder NULL angezeigt werden, wenn der eingegebene Benutzername nicht mit dem Benutzernamen in der Datenbank übereinstimmt. Ich habe versucht, in der else-Anweisung den Wert null zurückzugeben, aber es wird weiterhin die Fehlermeldung angezeigt.echo der Fehler Null, wenn keine Daten in der Datenbank übereinstimmen

<?php 

$db = new PDO('mysql:host=127.0.0.1;dbname=sample;charset=utf8', 'root', ''); 

if(isset($_POST['search'])) { 
    $search = $_POST['search']; 

    $query = $db->prepare("SELECT * FROM search WHERE username=:username"); 
    $query->execute(['username' => $search]); 

    $row = $query->fetch(PDO::FETCH_OBJ); 

    if(count($row)) { 
     echo $row->firstname . ' ' . $row->lastname; 
    } else { 
     echo null; 
    } 
} 


Dies zeigt werden nicht angenommen: enter image description here

+0

'echo $ row- Vorname>. ''. $ row-> lastname; 'ist Zeile 14? Haben Sie versucht, den 'Fetch' zu umgehen? – chris85

+0

wie kann ich es tun? – JTrixx16

+0

bereits behoben das Problem ... – JTrixx16

Antwort

0

Sie so etwas wie

tun sollten
if(count($row) > 0) { 
    echo $row->firstname . ' ' . $row->lastname; 
} else { 
    echo null; 
} 
+0

hat nicht funktioniert. Es wird weiterhin die Fehlermeldung – JTrixx16

+0

angezeigt. Überprüfen Sie zunächst, ob Objekt $ Zeile leer oder NICHT ist. Do print_r ($ row); –

+0

hat das Problem bereits behoben – JTrixx16

Verwandte Themen