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

Форум MySQL

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

 

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

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

тема: trouble with insert
 
 автор: loop69   (03.07.2007 в 04:19)   письмо автору
 
 

Установил на винде Apache2.0+PHP5.2.3+MySQL 5.0.
Есть коннект, пхп нормально работает, словом, все хорошо, за исключением того, что в таблицы не вставляются записи.
CREATE TABLE - работает, создает. А INSERT INTO - не работает. Пробовал на трех разных скриптах - безрезультатно.
Из MySQL monitor вставляет, а из пхп-скриптов - нет.
Грешу на то, что где-то в ini-файлах не прописал чего-то, связанного со вставкой.
Не подскажете ли - чего?

   
 
 автор: Faraon   (03.07.2007 в 08:57)   письмо автору
 
   для: loop69   (03.07.2007 в 04:19)
 

Приведите полностью пример того как Вы вставляете записи

   
 
 автор: cheops   (03.07.2007 в 09:20)   письмо автору
 
   для: loop69   (03.07.2007 в 04:19)
 

Функция mysql_error() какую-нибудь ошибку возвращает?

   
 
 автор: Trianon   (03.07.2007 в 09:55)   письмо автору
 
   для: loop69   (03.07.2007 в 04:19)
 

и phpMyAdmin не работает?
Потому что если работает, то дело явно не в ini-файлах.

   
 
 автор: Faraon   (03.07.2007 в 10:11)   письмо автору
 
   для: loop69   (03.07.2007 в 04:19)
 

to loop69
одинарные кавычки надеюсь не забываете

   
 
 автор: loop69   (03.07.2007 в 10:48)   письмо автору
 
   для: Faraon   (03.07.2007 в 10:11)
 

phpMyAdmin работает.

Код, например, такой

<?
define
("DBName","test");
define("HostName","localhost");
define("UserName","root");
define("Password","123");

if(!
mysql_connect(HostName,UserName,Password)) 
{  echo 
"Не могу соединиться с базой ".DBName."!<br>"
   echo 
mysql_error();
   exit; 
}
mysql_select_db(DBName);

// Создаем таблицу t. Если такая таблица уже есть,
// сообщение об ошибке будет подавлено, т.к. 
// используется "@"
@mysql_query("create table t(id int,a text)");

// до этого момента все работает, таблица t создается, а далее - тишина. И никаких движений.

// Вставляем в таблицу 10 записей
for($i=0$i<10$i++) 
{  
$id=time();
   
mysql_query("insert into t(id,a) values($id,'Стр$i!')");
}   

// Выводим все записи
$r=mysql_query("select * from t");
for(
$i=0$i<mysql_num_rows($r); $i++)
{  
$f=mysql_fetch_array($r);
   echo 
"$f[id] -> $f[a]<br>\n";
}
?>


В Денвере - работало.

Одинарные кавычки? где? В запросах?

mysql_error() выдает

Data too long for column 'a' at row 1

   
 
 автор: Furst   (03.07.2007 в 14:05)   письмо автору
 
   для: loop69   (03.07.2007 в 10:48)
 

А не может быть проблемы с кодировкой? Попробуй

mysql_query('SET NAMES cp1251');

   
 
 автор: Faraon   (03.07.2007 в 14:52)   письмо автору
 
   для: loop69   (03.07.2007 в 10:48)
 

попрбуйте добавить
$result=mysql_result(); после запроса INSERT

   
 
 автор: Trianon   (03.07.2007 в 19:25)   письмо автору
 
   для: loop69   (03.07.2007 в 10:48)
 

Ничего удивительного.
Furst прав - Вы не указываете кодировку, а пытаетесь вставить строки с русскими буквами.
сдеалйте SET NAMES.
Да и ALTER database SET charset не помешал бы.

   
 
 автор: Trianon   (03.07.2007 в 19:26)   письмо автору
 
   для: loop69   (03.07.2007 в 10:48)
 

В денвере наверняка Вы работали не через root.

   
 
 автор: loop69   (03.07.2007 в 21:49)   письмо автору
 
   для: Trianon   (03.07.2007 в 19:26)
 

Ага, после вставки бесхитростных строк:
@mysql_query("SET CHARACTER SET cp1251;");
@mysql_query("SET collation_connection = 'cp1251_general_ci';");

Все заработало. Большое всем спасибо!
:-)

   
Rambler's Top100
вверх

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