Strict Standards: Resource ID#18 used as offset, casting to integer (18) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#23 used as offset, casting to integer (23) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#25 used as offset, casting to integer (25) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#26 used as offset, casting to integer (26) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Добавление данных в MySQL
ТвойWeb ТвойWeb
Качественный Европейский хостинг
Форум для чайников
 Чат на форуме      Помощь      Поиск      Пользователи


 Страниц (3): [1] 2 3 »   

> Без описания
chiv
Отправлено: 27 Апреля, 2005 - 09:49:56
Post Id



Full Member


Покинул форум
Сообщений всего: 227
Дата рег-ции: Дек. 2004  
Откуда: Раменское

Карма 0




Пытаюсь со своей странички добавить данные в таблицу...
CODE:
/* Подключаемся к базе */
if (!mysql_connect($server, $user, $password))
{
echo "<html><head><title>ОШИБКА</title></head>";
echo "<body><h1>Ошибка подключения к базе</h1></body></html>";
exit;
}
/* Выбираем базу данных */
mysql_select_db("datb");

// добавляем данные в таблицу
mysql_query("insert into 'atab' ('YYYY', 'MM', 'DD', 'text', 'url', 'image', 'N')
values ($yyyy, $mm, $dd, $text, $url, $image), '' ");

...код выполняется, переходит дальше...
А в результате в БД ничего не появляетсяОднако
В чём может быть причина?
 
 Top
TvoyWeb Администратор
Отправлено: 27 Апреля, 2005 - 15:33:07
Post Id



Главный здесь


Покинул форум
Сообщений всего: 7072
Дата рег-ции: Нояб. 2003  
Откуда: Tashkent Uz

Карма 52




Вот так наверное правильней будет:
CODE:
mysql_query("INSERT INTO 'atab' (`YYYY`,`MM`,`DD`,`text`,`url`,`image`,`N`) VALUES ($yyyy, $mm, $dd, $text, $url, $image)");
 
 Top
chiv
Отправлено: 28 Апреля, 2005 - 02:33:56
Post Id



Full Member


Покинул форум
Сообщений всего: 227
Дата рег-ции: Дек. 2004  
Откуда: Раменское

Карма 0




TvoyWeb - всё равно не работает.
Вот полный скрипт:
CODE:
<?
// подкл. вспомогат. файлы
include "../opt.php";

/* Проверяем, нажимал ли кнопку go */
if (!isset($go)) { echo "Не указаны параметры\n"; exit; }

/* Проверяем корректность введенных данных */
if ($yyyy==0) { echo "Не указан год\n"; exit; }
if ($mm>12) { echo "Указано недопустимое значение месяца\n"; exit; }
if ($dd>31) { echo "Указано недопустимое значение дня\n"; exit; }
if ($text==0) { echo "Не указано событие\n"; exit; }

/* Подключаемся к базе */
if (!mysql_connect($server, $user, $password))
{
echo "<html><head><title>ОШИБКА</title></head>";
echo "<body><h1>Ошибка подключения к базе</h1></body></html>";
exit;
}
/* Выбираем базу данных */
mysql_select_db("dorogavn_aviahist");

// добавляем данные в таблицу
mysql_query("INSERT INTO 'aviahist' (`YYYY`, `MM`, `DD`, `text`, `url`, `image`, `N`)
VALUES ($yyyy, $mm, $dd, $text, $url, $image)");

echo "<html><head><title>test</title></head>";
echo "<body>год - $yyyy<BR>месяц - $mm<BR>день - $dd<BR>событие - $text<BR>";
echo "ссылка - $url<BR>картинка - $image</body></html>";
echo "</body></html>";
exit;

//выводим страницу ввода данных
//require "test.htm";
?>

В ходе выполнения никаких сообщений об ошибках не выдаётся, в результате выводятся данные (которые должны), но в БД пусто!!!Ниндзя
Как и где найти ошибку?
 
 Top
TvoyWeb Администратор
Отправлено: 28 Апреля, 2005 - 03:48:35
Post Id



Главный здесь


Покинул форум
Сообщений всего: 7072
Дата рег-ции: Нояб. 2003  
Откуда: Tashkent Uz

Карма 52




Для начала, для вывода всех ошибок, вставь в самый верх скрипта строчку:
CODE:
error_reporting(E_ALL);

Дальше замени:
CODE:
/* Выбираем базу данных */
mysql_select_db("dorogavn_aviahist");

на
CODE:
/* Выбираем базу данных */
mysql_select_db("dorogavn_aviahist") or die("Не могу найти на DB \"dorogavn_aviahist\": " . mysql_error());

чтобы выводились ошибки мускула, при выборе БД.
Дальше замени:
CODE:
// добавляем данные в таблицу
mysql_query("INSERT INTO 'aviahist' (`YYYY`, `MM`, `DD`, `text`, `url`, `image`, `N`)
VALUES ($yyyy, $mm, $dd, $text, $url, $image)");

на
CODE:
// добавляем данные в таблицу
mysql_query("INSERT INTO 'aviahist' (`YYYY`, `MM`, `DD`, `text`, `url`, `image`, `N`) VALUES ($yyyy, $mm, $dd, $text, $url, $image)") or die("Не удалось добавить данные: " . mysql_error());

Для вывода ошибок при добавлении данных в таблицу.
Запусти скрипт и посмотри что будет.
 
 Top
chiv
Отправлено: 28 Апреля, 2005 - 05:16:25
Post Id



Full Member


Покинул форум
Сообщений всего: 227
Дата рег-ции: Дек. 2004  
Откуда: Раменское

Карма 0




Запустил... выдаёт:
Цитата:
Не удалось добавить данные: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ''aviahist' (`YYYY`, `MM`, `DD`, `text`, `url`, `image`, `N`) VA

Если добавить данные с помощью phpMyAdmin, то запрос выглядит так:
CODE:
SQL-запрос:
INSERT INTO `aviahist` ( `YYYY` , `MM` , `DD` , `text` , `url` , `image` , `N` )
VALUES (
'1111', '2', '3', '44444', NULL , NULL , ''
)

Поле N у меня PRIMARY с auto_increment... может быть причина в этом?
 
 Top
TvoyWeb Администратор
Отправлено: 28 Апреля, 2005 - 06:21:35
Post Id



Главный здесь


Покинул форум
Сообщений всего: 7072
Дата рег-ции: Нояб. 2003  
Откуда: Tashkent Uz

Карма 52




chiv
Ну правильно, в value у тебя 6 значений, а полей ты перечисляешь семь.
CODE:
....aviahist' (`YYYY`, `MM`, `DD`, `text`, `url`, `image`, `N`) VALUES ($yyyy, $mm, $dd, $text, $url, $image).....

Видишь? Убери поле N, оно само по себе добавится, если оно у тебя
chiv пишет:
Поле N у меня PRIMARY с auto_increment...

 
 Top
chiv
Отправлено: 28 Апреля, 2005 - 06:55:18
Post Id



Full Member


Покинул форум
Сообщений всего: 227
Дата рег-ции: Дек. 2004  
Откуда: Раменское

Карма 0




Исправил...
CODE:
mysql_query( "INSERT INTO `aviahist` (`YYYY`, `MM`, `DD`, `text`, `url`, `image`) VALUES ($yyyy, $mm, $dd, $text, $url, $image)" ) or die("Не удалось добавить данные: " . mysql_error());

Теперь выдаёт:
Цитата:
Не удалось добавить данные: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ' )' at line 1
 
 Top
TvoyWeb Администратор
Отправлено: 28 Апреля, 2005 - 12:17:42
Post Id



Главный здесь


Покинул форум
Сообщений всего: 7072
Дата рег-ции: Нояб. 2003  
Откуда: Tashkent Uz

Карма 52




Ну тогда так:
CODE:
mysql_query( "INSERT INTO `aviahist` (`YYYY`, `MM`, `DD`, `text`, `url`, `image`) VALUES ('$yyyy', '$mm', '$dd', '$text', '$url', '$image')" ) or die("Не удалось добавить данные: " . mysql_error());
 
 Top
chiv
Отправлено: 28 Апреля, 2005 - 14:01:10
Post Id



Full Member


Покинул форум
Сообщений всего: 227
Дата рег-ции: Дек. 2004  
Откуда: Раменское

Карма 0




TvoyWeb
Спасибо!
В результате выявлено следующее:
В исходной форме обязательными для заполнения являются поля yyyy и text, поэтому все поля и не заполнялись. Если заполнить все поля, то в VALUES можно переменные ставить и без кавычек - в моём случае поставил кавычки и всё заработалоУлыбка

PS Надеюсь эта тема будет полезна не только мнеПодмигивание
 
 Top
chiv
Отправлено: 06 Мая, 2005 - 07:47:14
Post Id



Full Member


Покинул форум
Сообщений всего: 227
Дата рег-ции: Дек. 2004  
Откуда: Раменское

Карма 0




В ходе эксплуатации неожиданно выявилось:
Если в поле text написать что-либо кроме цифр то выдаётся сообщение:
Цитата:
Не удалось добавить данные: Unknown column 'вапортпаспт' in 'field list'

Что не так?ХмОднако
 
 Top
Страниц (3): [1] 2 3 »
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0, скрытых: 0)
« PHP/Perl »


Все гости форума могут просматривать этот раздел.
Только администраторы и модераторы могут создавать новые темы в этом разделе.
Только администраторы и модераторы могут отвечать на сообщения в этом разделе.
 



Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.047]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33