Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: проблема с привилегиями?
 
 автор: btr   (27.07.2012 в 13:48)   письмо автору
 
 

Здравствуйте

Консоль мускула запускается так:
: запуск mysql
mysql.exe  --user=root 


Коннект в пхп осуществляется так:
$cnct = @mysql_connect("localhost","root","");


вроде бы один и тот же юзер, но в консоли INSERT проходит, а из файла - нет...

подскажите, пожалуйста, в чем проблема?

  Ответить  
 
 автор: btr   (27.07.2012 в 16:12)   письмо автору
 
   для: btr   (27.07.2012 в 13:48)
 

очень интересно...

вот так работает из пхп и консоли
INSERT INTO shoper SET familia='ИВАНОВ'


а вот так только из консоли...
INSERT shoper (familia) VALUES ('ИВАНОВ')


почему?

  Ответить  
 
 автор: cheops   (28.07.2012 в 05:52)   письмо автору
 
   для: btr   (27.07.2012 в 13:48)
 

А в консоли какую ошибку возвращает при попытке выполнения INSERT-запроса?

  Ответить  
 
 автор: btr   (28.07.2012 в 10:15)   письмо автору
 
   для: cheops   (28.07.2012 в 05:52)
 

как раз в консоли нет проблем

а из пхп второй вариант (со скобочками) не проходит (с DELETE тоже)

  Ответить  
 
 автор: cheops   (28.07.2012 в 10:21)   письмо автору
 
   для: btr   (28.07.2012 в 10:15)
 

При помощи функции mysql_error() извлеките сообщение об ошибке. Что сообщает MySQL-сервер?

  Ответить  
 
 автор: btr   (28.07.2012 в 10:50)   письмо автору
 
   для: cheops   (28.07.2012 в 10:21)
 

Incorrect string value: '\xC8\xC2\xC0\xCD\xCE\xC2' for column 'familia' at row 1

при вот такой попытке:
$fm = 'ИВАНОВ';
$q = "INSERT shoper (familia) VALUES ($fm)";


ошибка:
Invalid utf8 character string: 'И'

что-то я совсем запутался... :(

  Ответить  
 
 автор: cheops   (28.07.2012 в 19:53)   письмо автору
 
   для: btr   (28.07.2012 в 10:50)
 

В какой кодировке скрипт и данные в таблице базы данных?
У вас однозначно проблема с кодировкой, вы оператор SET NAMES, настраивающий кодировку соединения сразу после установки соединения выполняете?

  Ответить  
 
 автор: btr   (29.07.2012 в 01:20)   письмо автору
 
   для: cheops   (28.07.2012 в 19:53)
 

скрипт в кодировке utf8

коннект так:
//законнектились
$cnct = @mysql_connect("127.0.0.1","root","");

// выбрали кодировку
mysql_query("set names utf8");


данные в базу вносились в cp1251
но это в другие таблицы, таблица shoper заполняется с нуля скриптом.
и потом, ведь с консоли записи в таблицу заводятся?

  Ответить  
 
 автор: cheops   (29.07.2012 в 06:56)   письмо автору
 
   для: btr   (28.07.2012 в 10:50)
 

У вас строковое значение в кавычки не взято, вместо
$q = "INSERT shoper (familia) VALUES ($fm)";
следует писать
$q = "INSERT shoper (familia) VALUES ('$fm')";

  Ответить  
 
 автор: btr   (29.07.2012 в 09:55)   письмо автору
 
   для: cheops   (29.07.2012 в 06:56)
 

Большое спасибо, помогло... наверное....

однако не понял, что произошло...
вот такая конструкция не работала
"INSERT shoper (familia) VALUES ('ИВАНОВ')"


сейчас работает :\

  Ответить  
 
 автор: cheops   (30.07.2012 в 08:04)   письмо автору
 
   для: btr   (29.07.2012 в 09:55)
 

Такой конструкции не было, была вот такая
"INSERT shoper (familia) VALUES (ИВАНОВ)"

Одиночные скобки PHP задействуются в PHP, они не добавляются автоматически в SQL-запрос, их нужно прописывать явно.

  Ответить  
 
 автор: btr   (30.07.2012 в 13:22)   письмо автору
 
   для: cheops   (30.07.2012 в 08:04)
 

Большое спасибо за объяснение, пунктуация - мя ахиллесова пята :(

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования