sql >> Base de Datos >  >> RDS >> Mysql

La base de datos de parámetros enlazados de PHP llama a un número incorrecto de parámetros si uso dos puntos

Este '?' no es un marcador de posición, es un signo de interrogación literal. Los marcadores de posición no se citan. Tal como está, tiene dos marcadores de posición y se intentó vincular tres valores.

Así que prueba:

$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");