Mysql, PHP, Apache (веб сайт)
Использую в своем SQLзапросе оператор like.
PHP код одинаковый. Данные разные. Результат поведения оператора like разный. Странно.
(Код используется совместно с ajax - выпадающий список, всё стандартно.)
//keyword - название работы (текст). Например - "Строительство большого дома"
$select_result=mysql_query("SELECT * FROM `my_table` WHERE `job_name` like '".$keyword."%' ORDER BY job_name");
В результате всё работает как надо.
У меня в таблице есть записи - Строительство большого дома, Строительство малого дома, Стр большого дома.
Введя Стр видим 3 все записи, введя Стро - 2 первые записи, введя Строительство б - 1 запись.
Работает как надо.
//keyword - значение работы (в виде числа). Например - "1.0.001" Поле в таблице char(255) utf8_general_ci.
if (is_numeric($keyword)==true)
{
$select_result=mysql_query("SELECT * FROM `my_table` WHERE `job_value` like '".$keyword."%' ORDER BY job_value");
}
У меня в таблице есть записи - 1.0.001, "1.1.001, 1.1.222, 1.1.333.
Введя 1 видим все записи. Введя 1. видим все записи. Введя 1.1 видим 3 записи.
Но введя 1.1. не видим ни одной записи. Но их же три!
С текстом все работает, а с числами нет.
Почему оператор like работает по разному?