Вот содержимое таблицы
id login password
1 admin 89516
2 8956 79513
Вот такой запрос работает нормально:
SELECT * FROM `users` WHERE login = 8956
и находит нужного юзера.
Стоит только поменять значение логина на такое:
SELECT * FROM `users` WHERE login = admin
Запрос ничего не находит. То есть если WHERE login = цифры работает, а если WHERE login = буквы - не работает. Как я понял это проблема с кодировкой.
Денвер перевел в UTF-8.
Сам скрипт на странице с кодировкой: Unicode(UTF-8) без BOM'a
Кодировка БД: utf8_unicode_ci
Кодировка соединения: utf8_unicode_ci
Примем инсертом в таблицу вставляются нормальные значения.
Спустя 11 минут, 52 секунды (4.08.2012 - 08:54) denis79513 написал(а):
Оказывается вся проблема в '' надо так : login = 'admin' ...
Спустя 1 час, 48 минут, 49 секунд (4.08.2012 - 10:43) Pulse написал(а):
Всегда в запросах строковые значения надо обёртывать в одинарные кавычки.
Спустя 11 дней, 9 часов, 47 минут, 48 секунд (15.08.2012 - 20:30) empirik написал(а):
Или можно использовать обертки над стандартными функциями. Только убедитесь, что в них есть поддержка плейсхолдеров.