первый вопрос:
MySQL запрос данных из таблицы, без учёта регистра, руские символы! Но при какой должен тип иметь 'Сравнение'.
Второй очень важный вопрос:
Не посоветуете хорошую книгу или справку по MySQL, а то я пробовал понять при помощи phpMyAdmin и Google, но продвинулся не сильно
И 3-й вопрос
что значит : Эта функция безопасна для обработки данных в двоичной форме.
Это чито для расширения кругозора
Заранее благодарен!
Спустя 1 час, 30 минут, 44 секунды (8.07.2009 - 02:09) kirik написал(а):
Цитата (ntfs_ok @ 7.07.2009 - 16:38) |
MySQL запрос данных из таблицы, без учёта регистра, руские символы! Но при какой должен тип иметь 'Сравнение'. |
Где вопрос?
Цитата (ntfs_ok @ 7.07.2009 - 16:38) |
Не посоветуете хорошую книгу или справку по MySQL, а то я пробовал понять при помощи phpMyAdmin и Google, но продвинулся не сильно |
Цитата (ntfs_ok @ 7.07.2009 - 16:38) |
что значит : Эта функция безопасна для обработки данных в двоичной форме. |
Это значит что этой функцией можно обрабатывать любые данные (текст, код картинок, видеофайлов, и пр.)
Спустя 11 часов, 8 минут, 23 секунды (8.07.2009 - 13:17) ntfs_ok написал(а):
kirik, проблема в том, что я пытаюсь получить данные из таблицы, но без соблюдения регистра у меня не получается. если написать строку поиска в сооответственном регистре, то работает!
SQL |
$query = "SELECT * FROM chsallcln WHERE ".clanname." like '%".cта."%'"; |
Спустя 6 часов, 17 минут, 38 секунд (8.07.2009 - 19:35) kirik написал(а):
ntfs_ok
А, понял. А какая у тебя сейчас кодировка БД/таблиц стоит?
А, понял. А какая у тебя сейчас кодировка БД/таблиц стоит?
Спустя 10 минут, 55 секунд (8.07.2009 - 19:45) ntfs_ok написал(а):
Оставил по дефалту:
Сравнение : cp1251_general_ci
MySQL-кодировка: (utf8)
Сравнение : cp1251_general_ci
MySQL-кодировка: (utf8)
Спустя 11 минут, 59 секунд (8.07.2009 - 19:57) kirik написал(а):
Хм.. general_ci должно регистронезависимо работать.. Даешь дамп таблицы?
Спустя 36 минут, 20 секунд (8.07.2009 - 20:34) ntfs_ok написал(а):
Цитата (kirik @ 8.07.2009 - 16:57) |
Даешь дамп таблицы? |
не понял...
Спустя 2 минуты, 44 секунды (8.07.2009 - 20:36) kirik написал(а):
ntfs_ok
Структуру таблицы. Если в phpMyAdmin работаешь, то это называется "Экспорт".
Структуру таблицы. Если в phpMyAdmin работаешь, то это называется "Экспорт".
Спустя 12 минут, 47 секунд (8.07.2009 - 20:49) ntfs_ok написал(а):
Вот:
таблица большая, область данных я срзал
Свернутый текст
-- phpMyAdmin SQL Dump
-- version 2.11.5
-- http://www.phpmyadmin.net
--
-- Хост: localhost
-- Время создания: Июл 08 2009 г., 21:44
-- Версия сервера: 5.0.51
-- Версия PHP: 5.2.6
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
--
-- База данных: `primus`
--
-- --------------------------------------------------------
--
-- Структура таблицы `chsallcln`
--
CREATE TABLE IF NOT EXISTS `chsallcln` (
`clanid` varchar(10) NOT NULL,
`clanname` varchar(20) character set utf8 NOT NULL,
`userid` varchar(8) NOT NULL,
`username` varchar(40) NOT NULL,
`reason` text NOT NULL,
`sum` varchar(8) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
--
-- Дамп данных таблицы `chsallcln`
--
INSERT INTO `chsallcln` (`clanid`, `clanname`, `userid`, `username`, `reason`, `sum`) VALUES
('atlant', 'Атланты', '186406', 'killa_0007', 'http://www.haddan.ru/b log.php?id=51728718 <br>http://www.haddan.ru/b log.php?id=51223884', '10000'),
('cos', 'Church of Satan', '592656', '-Saylar-', 'http://haddan.ru/blog. php?id=50017361, http://haddan.ru/blog. php?id=50017416', '10000'),
('vamp', 'Vampires', '661348', '_БеФиДоГ_', 'http://haddan.ru/blog. php?id=53658962 http://haddan.ru/blog. php?id=53659517 ', '5000'),
('vamp', 'Vampires', '654555', 'Mr Dropper', 'http://haddan.ru/blog. php?id=53672473 http://haddan.ru/blog. php?id=53683544 ', '5000'),
('vamp', 'Vampires', '636131', 'maksim10', 'жалоба № 29792739', '2000');
-- version 2.11.5
-- http://www.phpmyadmin.net
--
-- Хост: localhost
-- Время создания: Июл 08 2009 г., 21:44
-- Версия сервера: 5.0.51
-- Версия PHP: 5.2.6
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
--
-- База данных: `primus`
--
-- --------------------------------------------------------
--
-- Структура таблицы `chsallcln`
--
CREATE TABLE IF NOT EXISTS `chsallcln` (
`clanid` varchar(10) NOT NULL,
`clanname` varchar(20) character set utf8 NOT NULL,
`userid` varchar(8) NOT NULL,
`username` varchar(40) NOT NULL,
`reason` text NOT NULL,
`sum` varchar(8) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
--
-- Дамп данных таблицы `chsallcln`
--
INSERT INTO `chsallcln` (`clanid`, `clanname`, `userid`, `username`, `reason`, `sum`) VALUES
('atlant', 'Атланты', '186406', 'killa_0007', 'http://www.haddan.ru/b log.php?id=51728718 <br>http://www.haddan.ru/b log.php?id=51223884', '10000'),
('cos', 'Church of Satan', '592656', '-Saylar-', 'http://haddan.ru/blog. php?id=50017361, http://haddan.ru/blog. php?id=50017416', '10000'),
('vamp', 'Vampires', '661348', '_БеФиДоГ_', 'http://haddan.ru/blog. php?id=53658962 http://haddan.ru/blog. php?id=53659517 ', '5000'),
('vamp', 'Vampires', '654555', 'Mr Dropper', 'http://haddan.ru/blog. php?id=53672473 http://haddan.ru/blog. php?id=53683544 ', '5000'),
('vamp', 'Vampires', '636131', 'maksim10', 'жалоба № 29792739', '2000');
таблица большая, область данных я срзал
Спустя 2 минуты, 18 секунд (8.07.2009 - 20:52) kirik написал(а):
Цитата (ntfs_ok @ 8.07.2009 - 12:49) |
жалоба в |
У тебя все данные в таком виде? Из-за того что ты криво добавляешь даннные и не работает регистронезависимый поиск..
UPD
почитай тут
Спустя 2 минуты, 35 секунд (8.07.2009 - 20:54) ntfs_ok написал(а):
Я их получаю в utf 8 и записываю туда, а как надо?
Спустя 1 минута, 40 секунд (8.07.2009 - 20:56) kirik написал(а):
ntfs_ok
Кодировки нужно приводить к одному виду, если ты работаешь с 1251, то работаешь с ним везде (и БД, и скрипты и данные), если ты работаешь с юникодом, то работаешь с ним везде. Иначе тупых проблем не избежать (типа этой).
Кодировки нужно приводить к одному виду, если ты работаешь с 1251, то работаешь с ним везде (и БД, и скрипты и данные), если ты работаешь с юникодом, то работаешь с ним везде. Иначе тупых проблем не избежать (типа этой).
Спустя 1 минута, 43 секунды (8.07.2009 - 20:58) ntfs_ok написал(а):
у меня везде была utf 8.
Спустя 22 минуты, 5 секунд (8.07.2009 - 21:20) kirik написал(а):
Цитата (ntfs_ok @ 8.07.2009 - 12:58) |
у меня везде была utf 8. |
Однако таблица в 1251..
Спустя 21 минута, 11 секунд (8.07.2009 - 21:41) ntfs_ok написал(а):
1251? просто я ещё не совсем разобрался?
Когда я делал сравнение тожк utf 8 такой же рез-тат
Когда я делал сравнение тожк utf 8 такой же рез-тат
Спустя 4 минуты, 27 секунд (8.07.2009 - 21:45) kirik написал(а):
Цитата (ntfs_ok @ 8.07.2009 - 13:41) |
1251? просто я ещё не совсем разобрался? |
Кодировка cp1251
Цитата (ntfs_ok @ 8.07.2009 - 13:41) |
Когда я делал сравнение тожк utf 8 такой же рез-тат |
После того как сделал utf8 записывал новые данные, или пробовал с теми что уже были?
Спустя 5 минут, 58 секунд (8.07.2009 - 21:51) ntfs_ok написал(а):
Я так и думал,что ты о перезаписи данных спросишь. со старыми.....
Спустя 10 минут, 51 секунда (8.07.2009 - 22:02) ntfs_ok написал(а):
Базу обновил. Каритна таже
Данные, отображаемые phpMyAdmin Атланты
Но на странице они выводятся кореектно....
Данные, отображаемые phpMyAdmin Атланты
Но на странице они выводятся кореектно....
Спустя 2 минуты, 45 секунд (8.07.2009 - 22:05) kirik написал(а):
Цитата (ntfs_ok @ 8.07.2009 - 13:51) |
со старыми.... |
запиши в таблицу новые данные
Цитата (ntfs_ok @ 8.07.2009 - 14:02) |
Данные, отображаемые phpMyAdmin Атланты Но на странице они выводятся кореектно.... |
Так бывает, когда при записи данных в таблицу не верно выставляется (или не выставляется) кодировка соединения. Я тебе ссылку дал, почитай.
Спустя 14 минут, 9 секунд (8.07.2009 - 22:19) ntfs_ok написал(а):
Версия MySQL-клиента: 5.0.51a
Спустя 9 минут, 34 секунды (8.07.2009 - 22:29) kirik написал(а):
ntfs_ok
Ты кодировку соединения устанавливаешь?
Ты кодировку соединения устанавливаешь?
Спустя 2 минуты, 15 секунд (8.07.2009 - 22:31) ntfs_ok написал(а):
там сказано для версий, которые вше моей.
Спустя 3 часа, 15 минут, 16 секунд (9.07.2009 - 01:46) kirik написал(а):
Цитата (ntfs_ok @ 8.07.2009 - 14:31) |
там сказано для версий, которые вше моей. |
Внимательнее читай
Цитата |
(ну и функцию для совместимости с MySQL < 5.0.7) |
Спустя 8 минут, 2 секунды (9.07.2009 - 01:54) ntfs_ok написал(а):
kirik, так там в коменте кода написано
PHP |
* Note: This function requires MySQL 5.0.7 or later. |
или ячто-то глючу!
Спустя 6 минут, 35 секунд (9.07.2009 - 02:01) kirik написал(а):
Запрос с SET NAMES не требует версии выше 5.0.7.
Спустя 15 часов, 13 минут, 48 секунд (9.07.2009 - 17:14) ntfs_ok написал(а):
Так, если я правильно понял, я должен скопировать весь код, установит соединение и вызвать
PHP |
mysql_set_charset("utf-8",$bd); |
И он ругается на эту строчку
Warning: mysql_set_charset() expects parameter 2 to be resource, boolean given in /home/.... on line 44
Спустя 16 минут, 29 секунд (9.07.2009 - 17:31) PandoraBox2007 написал(а):
$bd не указатель на подключения БД наверно там просто булевая переменная
Спустя 10 минут, 53 секунды (9.07.2009 - 17:42) ntfs_ok написал(а):
PHP |
<?php |
вот код
но и без переменной $bd тоже так же ругается!
Спустя 34 минуты, 5 секунд (9.07.2009 - 18:16) ntfs_ok написал(а):
kirik,
Версия сервера: 5.0.51a-log
запрос делаю просто, без процедуры, не хочет он давать результат!
Версия сервера: 5.0.51a-log
запрос делаю просто, без процедуры, не хочет он давать результат!
Спустя 1 час, 34 минуты, 47 секунд (9.07.2009 - 19:51) kirik написал(а):
ntfs_ok
Попробуй просто:
Попробуй просто:
PHP |
$db_link = mysql_connect('localhost', 'root', '****'); |
Если нет - закомменть mysql_set_charset и откомменть mysql_query. Данные для подключения ествесственно свои надо.
И после подключения выполни запрос на вставку.
Спустя 31 минута, 48 секунд (9.07.2009 - 20:23) ntfs_ok написал(а):
Всё! Заработало!
А так же надо и при запросе объявлять кодировку?
Всё! Понял! Большое Спасибо!
А так же надо и при запросе объявлять кодировку?
Всё! Понял! Большое Спасибо!
Спустя 22 минуты, 32 секунды (9.07.2009 - 20:45) kirik написал(а):
Цитата (ntfs_ok @ 9.07.2009 - 12:23) |
А так же надо и при запросе объявлять кодировку? |
Нет, только один раз после подключения. Этот код задает кодировку общения твоего скрипта с БД.
Спустя 20 минут, 32 секунды (9.07.2009 - 21:06) ntfs_ok написал(а):
kirik, не, я имел ввиду, что при каждом коннекте. Я уже понял )
А если из 2 - х табл надо взять сведения по одинаковым полям, это...?
Просо я почитал http://www.lghost.ru/docs/mysql/refman-4.0...multiple-tables но не понял
А если из 2 - х табл надо взять сведения по одинаковым полям, это...?
Просо я почитал http://www.lghost.ru/docs/mysql/refman-4.0...multiple-tables но не понял
Спустя 19 минут, 1 секунда (9.07.2009 - 21:25) kirik написал(а):
Цитата (ntfs_ok @ 9.07.2009 - 13:06) |
А если из 2 - х табл надо взять сведения по одинаковым полям, это...? |
Ты ведь одним запросом будешь использовать эти 2 таблицы? А запрос у тебя будет происходить через то подключение, кодировка которого уже установлена, тоесть все будет ОК (если конечно таблицы имеют одинаковую кодировку).
Спустя 6 минут, 25 секунд (9.07.2009 - 21:31) ntfs_ok написал(а):
не, я просто никак не могу понять, как - бы "объединить 2 таблицы" в одной есть ID а в другой расшифровка ID(название, владелец.....) я просто по той ссылке, что в начале дана была почитал, но не понял
Спустя 40 минут, 12 секунд (9.07.2009 - 22:11) kirik написал(а):
ntfs_ok
а.. тебе JOIN нужен
а.. тебе JOIN нужен
Спустя 11 минут, 22 секунды (9.07.2009 - 22:23) ntfs_ok написал(а):
kirik, ты как звезда путиводная!
Спустя 1 день, 3 часа, 19 минут, 35 секунд (11.07.2009 - 01:42) maximvg написал(а):
А чем тебя регистры смущают. Не нравятся регистры приведи их к одно виду. Например сделай все прописный перед добавлением в БД.
А про кодировки абсолютно согласен с kirik - тут надо уж както определиться, а то тупить будешь над каждой проблемой. Хотя можно получать в ср1251, а потом в юникод переводить. Только вот вопрос зачем?
А про кодировки абсолютно согласен с kirik - тут надо уж както определиться, а то тупить будешь над каждой проблемой. Хотя можно получать в ср1251, а потом в юникод переводить. Только вот вопрос зачем?
Спустя 43 минуты (11.07.2009 - 02:25) kirik написал(а):
Цитата (maximvg @ 10.07.2009 - 17:42) |
Не нравятся регистры приведи их к одно виду. Например сделай все прописный перед добавлением в БД. |
А обратно как?
_____________
Не так страшен программист, как его программы, хотя и он тоже страшный!