2017-04-19 1 views
0

Ich bekomme den folgenden Fehler mit dem folgenden vorbereiteten Anweisungscode. Frage mich, was der Grund ist, da alles richtig aussieht.Einfache vorbereitete Anweisung mit COUNT (..) funktioniert nicht

Notice: Connection failed: Prepared statement invalid: Operand should contain 1 column(s) in C:\xampp\htdocs\index.php on line 58 

Hier ist der Code:

$conn = new mysqli('localhost', 'root', '', 'myusers'); // this is confirmed to work for connecting 
// Check connection 
if ($conn->connect_error) { 
    trigger_error('Connection failed: ' . $conn->connect_error); 
    die(); 
} 
$stmt = $conn->prepare('SELECT COUNT(id) as count_u FROM Users WHERE (title=?, forename=?, surname=?)'); 
if (!$stmt) { // here, $stmt is false or such. 
    trigger_error('Connection failed: Prepared statement invalid: ' . htmlspecialchars($conn->error)); 
    die(); 
} 
+2

Ihre 'WHERE' Klausel ist falsch. Tipp: 'UND'. –

+0

Ist '(title =?, Vorname =?, Nachname =?)' Gültig? –

Antwort

1

Verwenden

WHERE title=? 
    AND forename=? 
    AND surname=? 
+0

Danke, nur ein paar 'rostig mit SQL' Problem, denke ich;) –

0

Verwendung und/oder in Ihnen, wo Klausel

$stmt = $conn->prepare('SELECT COUNT(id) as count_u FROM Users WHERE title=? and/or forename=? and/or surname=?)'); 
$stmt->bind_param("sss", $title, $forename, $surname); 
Verwandte Themen