Comments 12
Думается, проблему бы решило
$where = «providerUserId = '?'»;
Потому как в аналогичной ситуации STRICT_ALL_TABLES и прочее нас не спасло.
MySQL знатно неявно кастит числа, да, хотя и услужливо пишет, что за выполнение запроса select * from t where string = 123456 было два предупреждения. Которые по-умолчанию все равно нигде не пишет.
$where = «providerUserId = '?'»;
Потому как в аналогичной ситуации STRICT_ALL_TABLES и прочее нас не спасло.
MySQL знатно неявно кастит числа, да, хотя и услужливо пишет, что за выполнение запроса select * from t where string = 123456 было два предупреждения. Которые по-умолчанию все равно нигде не пишет.
Думается, проблему бы решило
$where = «providerUserId = '?'»;
вы уверены что символ вопроса внутри строки будет воспринят как плейсхолдер?
Уже нет.
Как ниже правильно заметили, только явное указание PDO::PARAM_STR в PDO::bindParam решило бы.
А про '?' — глупость сморозил. Просто практически никогда не связывался с prepared statements в клиентских приложениях.
Как ниже правильно заметили, только явное указание PDO::PARAM_STR в PDO::bindParam решило бы.
А про '?' — глупость сморозил. Просто практически никогда не связывался с prepared statements в клиентских приложениях.
не связывался
а зря
говорите как будто это бяка какая-то ))
весьма полезная штука
автора за подобный код осуждаю
$where .= ' AND provider = "'. $provider. '"';
возможно, что там значение из предопределенного списка констант, и тем не менее
Мне казалось что это широко известная фича MySQL, что он кастит строки в числа от начала строки до первого неподходящего символа.
А вообще есть хорошее неписанное правило — не полагайтесь на неявные преобразования типов. Сравнивайте строки со строками, а числа с числами.
А вообще есть хорошее неписанное правило — не полагайтесь на неявные преобразования типов. Сравнивайте строки со строками, а числа с числами.
А в чем проблема-то? При сравнение строки с числом, ожидаемо, получили типопроблемы.
перейменовать
Думал, что после «Андройд» ничего хуже уже не будет… Ошибался!
Sign up to leave a comment.
Небольшая особенность CHAR и VARCHAR