$conn = getConn();
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "select * from posts where fk_user_id in (select id_user_1 from contacts where id_user_2=:_id) or (select id_user_2 from contacts where id_user_1=:_id) or :_id order by date desc limit 15 offset :_offset";
$stmt = $conn->prepare($sql);
$stmt->bindParam('_id', $id);
$o = "0";
$stmt->bindParam('_offset', $o);
Ошибка подключения: SQLSTATE [42000]: Ошибка синтаксиса или нарушение прав доступа: 1064 У вас есть ошибка в вашем SQL синтаксиса; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с '' 0 '' по строке 1PHP PDO не связывает правильно
По какой-то причине он не связывает параметр правильно; если я вручную положу 0 в SQL, все будет работать.
Исправление: я исправил, добавив PDO :: PARAM_INT. $ stmt-> bindParam (': _ offset', $ offset, PDO :: PARAM_INT);
Это не проблема – alps
@alps. Вы неверно связываете свои параметры. Кроме того, в чем проблема? –
Я так долго связывался с этим в течение нескольких месяцев, и у меня еще не было проблем с ним, я также попытался использовать столбцы, и у меня была такая же ошибка. – alps