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

Форум MySQL

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

 

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

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

тема: Помогите разобраться с INSERT-ом
 
 автор: Dexxxter   (24.08.2010 в 13:16)   письмо автору
 
 

Доброго времени суток Всем )

Имеется очень простенькая таблица (специально создал для примера):

TABLE book ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY
                          name VARCHAR(50),
                          author VARCHAR(50),            
                          num_pages INT(10));


..и простой php код:

    $db = mysql_connect ("localhost", "root", ""); 
    mysql_select_db ("test", $db); 
    $query = "INSERT INTO `book` VALUES  ('0', 'Книга', 'Вася', '143')";

    if (!mysql_query ($query, $db)) echo "<br>Не могу выполнить запрос<br>";
    else echo "<br>Всё ОК<br>";


Перепробовал, наверное, все методы реализации INSERT-a.. Со всевозмоными кавычками, и без них. Использовал SET и VALUES. Никак не могу занести данные в таблицу (
Если напрямик вставить любой из запросов в PhpMyadmin (в поле SQL) - всё работает.
Так же всё работает, если в php изменить запрос на SELECT, CREATE TABLE.. и т.д..

В чём может быть проблема?
Заранее благодарю )

  Ответить  
 
 автор: Trianon   (24.08.2010 в 13:20)   письмо автору
 
   для: Dexxxter   (24.08.2010 в 13:16)
 

запятая перед name пропущена в определении таблицы.
А зачем Вы пытаетесь вставить в ключ 0 да еще и символьный?
INSERT INTO `book` VALUES  (NULL,  'Книга', 'Вася', 143)

а лучше явно:
INSERT INTO `book` (`name`, `author`, `num_pages`) VALUES  ( 'Книга', 'Вася', 143)

  Ответить  
 
 автор: Dexxxter   (24.08.2010 в 13:27)   письмо автору
 
   для: Trianon   (24.08.2010 в 13:20)
 

Прошу прощения за запятую.. неудачно вставил код..
Вообще она, конечно, имеется, раз таблица существует.

Попробовал оба ваши метода.
Ни один не работает из php. Зато оба работают в phpmyadmin.
А вообще я их уже пробовал ) Игрался с кавычками и методами, как только мог )

  Ответить  
 
 автор: Trianon   (24.08.2010 в 14:06)   письмо автору
 
   для: Dexxxter   (24.08.2010 в 13:27)
 

Очевидно, у Вас заблокирован вывод диагностических сообщений.
А php-средствами успех подключения к серверу и выбора БД Вы не проверяете. (mysql_error())
Кроме того, отсутствует оператор устанвки кодировки соединения SET NAMES 'кодировка' .

  Ответить  
 
 автор: Dexxxter   (24.08.2010 в 14:29)   письмо автору
 
   для: Trianon   (24.08.2010 в 14:06)
 

Спасибо! Оказывается дело не в INSERT-е было )

  Ответить  
 
 автор: Paulus   (19.07.2012 в 08:28)   письмо автору
 
   для: Dexxxter   (24.08.2010 в 14:29)
 

>Спасибо! Оказывается дело не в INSERT-е было )
А в чём?

  Ответить  
 
 автор: Valick   (19.07.2012 в 09:30)   письмо автору
 
   для: Paulus   (19.07.2012 в 08:28)
 

на дату сообщения обращайте внимание

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

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