Mysql
 sql >> Datenbank >  >> RDS >> Mysql

PHP-gebundene Parameterdatenbank ruft falsche Anzahl von Parametern auf, wenn ich einen Doppelpunkt verwende

Dieses '?' ist kein Platzhalter, sondern ein wörtliches Fragezeichen. Platzhalter werden nicht zitiert. So haben Sie zwei Platzhalter und drei Werte, die versucht wurden, gebunden zu werden.

Versuchen Sie also:

$sth = $dbh->prepare("SELECT users.userID,fname,lname,status FROM users INNER JOIN friends ON users.userID = friends.friendID WHERE friends.userID = ? AND ((friends.status LIKE 'group%' OR friends.status = 'friends') OR (users.status = ?) OR (users.userID = ?)) ORDER BY friends.status,lname,fname ASC");