2016-04-10 15 views
0

Ich habe ein Skript in PDO geschrieben, das die Anzahl der Nachrichten erhält, die der Benutzer hat und zeigt sie an. Mein Problem ist, dass der Betrag nicht angezeigt wird.PDO Anzahl der Zeilen aus Datenbank

Hier ist mein Code:

<?php 
$con = new PDO("mysql:host=localhost;dbname=dbname", dbuser, dbpass); 
$username = $_GET['username']; 
$messages = $stmt = $con->prepare("SELECT NULL FROM messages WHERE username=:username"); 
$stmt->bindParam(':username', $username); 
$stmt->execute(); 
$row = $stmt->fetch(); 
echo $messages; 
?> 
+0

SELECT NULL' bedeutet „wählen null "Aka" wähle keinen Wert ". Ihre Abfrage gibt eine Reihe von Nullwerten zurück. – fusion3k

+0

Wie würde ich die Anzahl der Zeilen auswählen? –

+0

Verwenden Sie 'SELECT *', um alle Felder auszuwählen, 'SELECT Benutzername, Feldname1, etc ...', um einige Felder auszuwählen, SELECT COUNT (*) AS tot, um die Gesamtzahl der Zeilen auszuwählen. – fusion3k

Antwort

-2

Verwendung rowCount() Funktion, wenn Sie die Anzahl der Zeile Rückkehr von select-Anweisung berechnet werden soll -

<?php 
$con = new PDO("mysql:host=localhost;dbname=dbname", dbuser, dbpass); 
$username = $_GET['username']; 
$messages = $stmt = $con->prepare("SELECT field1,field2 FROM messages WHERE username=:username"); 
$stmt->bindParam(':username', $username); 
$stmt->execute(); 
$total = $stmt->rowCount(); 
echo $total; 
?> 
+0

Haben Sie den manuellen Seiteneintrag bei php.net über diese Funktion gelesen? Es funktioniert nicht einmal für eine SELECT-Anweisung. Falls Sie sich wundern, wo -1 herkommt - es ist, weil Sie eine völlig falsche Antwort gepostet haben. –

+0

Ja @ NB Ich lese es. Dies ist der Link [PDO-Handbuch] (http://php.net/manual/en/pdostatement.rowcount.php) –

+0

NIEMALS rowcount verwenden, um die Anzahl der Zeilen zu zählen. –