Сложность с MySQL - не видит значений, введенных скриптом

12
mumur
На сайте с 27.07.2006
Offline
168
1079

Постараюсь объяснить тупо, но подробно.

Стоит задача добавить скриптом в таблицу строку. Среди прочего есть поле Url.

Запрос INSERT выполняется успешно, все добавляется. В поле Url появляется необходимое двухзначное значение - 'JA'. В пхпмайадмине все видно.

При запросе SELECT ... WHERE Url='JA' возвращает пустую строку. Не видит в упор. Ни скриптом, ни в пхпмайадмин.

Если там же, в пхпмайадмин, руками отредактировать значение и поставить те же JA - начинает находить.

При добавлении скриптом из строки 'JA' на всякий случай удалены символы пробела и возврата каретки, которых там нет. Не помогает.

Понимаю, что моя глупость, но не понимаю, в чем она. Недоумеваеэ...

topy
На сайте с 28.03.2006
Offline
142
#1

М.б. двойные кавычки?

Новости коротко и ясно (https://subnews.ru)
theKashey
На сайте с 22.02.2012
Offline
70
#2

вариант 1 - регистр символов

вариант 2 - локаль

решение 1 - перевести локаль в ***_general_ci

решение 2 - WHERE url like 'JA'

решение 3 - покажите дамп структуры таблицы

IL
На сайте с 20.04.2007
Offline
435
#3
mumur:
Понимаю, что моя глупость, но не понимаю, в чем она. Недоумеваеэ...

буква 'A' при insert-е и при выборке точно английская?

... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
mumur
На сайте с 27.07.2006
Offline
168
#4

-- phpMyAdmin SQL Dump

-- version 3.5.5

-- http://www.phpmyadmin.net

--

-- Хост: localhost

-- Время создания: Май 20 2013 г., 09:58

-- Версия сервера: 5.1.68-cll

-- Версия PHP: 5.3.17

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

SET time_zone = "+00:00";

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;

/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;

/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;

/*!40101 SET NAMES utf8 */;

--

-- База данных: `med`

--

-- --------------------------------------------------------

--

-- Структура таблицы `cache`

--

CREATE TABLE IF NOT EXISTS `cache` (

`Id` int(4) unsigned NOT NULL AUTO_INCREMENT,

`Category` varchar(20) CHARACTER SET cp1251 DEFAULT NULL,

`Url` varchar(255) CHARACTER SET utf8_general_ci DEFAULT NULL,

`Title` varchar(255) CHARACTER SET cp1251 DEFAULT NULL,

PRIMARY KEY (`Id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=7980 ;

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;

/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;

/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

дани мапов
На сайте с 06.09.2012
Offline
204
#5

В скрипте после запроса поставьте echo mysql_error();. Может есть ошибки в запросе, тогда отобразится сообщение.

Написание и доработка скриптов (PHP, MySQL, JavaScript, jQuery) (/ru/forum/811046)
mumur
На сайте с 27.07.2006
Offline
168
#6

дани мапов, ну я не настолько валенок. Про регистр и русские буквы аналогично.

Хелпзонович
На сайте с 15.06.2005
Offline
133
#7

А если

SELECT ... WHERE trim(Url)='JA'

?

:)

Вы там держитесь! Хорошего вам настроения. Здоровья.
mumur
На сайте с 27.07.2006
Offline
168
#8

Заметил еще одну странность в поведении. Если в пхпмайадмин просто взять и нажать ссылку "Изменить", а затем сохранить изменения, не совершая самих изменений - все начинает работать.

LEOnidUKG
На сайте с 25.11.2006
Offline
1755
#9

Ну явно же проблема в скрытых символах или \n \t \r

trim почистите и всё будет ок.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
mumur
На сайте с 27.07.2006
Offline
168
#10

LEOnidUKG, чистил

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий