CREATE TABLE `MESSAGES` (
`id` bigint(20) NOT NULL auto_increment,
`CAPTION` tinytext NOT NULL,
`PICTURE` tinytext NOT NULL,
`TEXT` longtext NOT NULL,
`INDEX_TM` bigint(20) NOT NULL default '0',
`AVTOR` tinytext NOT NULL,
`DATE` date NOT NULL default '0000-00-00',
`TIME` time NOT NULL default '00:00:00',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;
Код не работает
Код:
mysql_connect(host_name_af,db_user_name_af,db_user_password_af) or die ($errf=$errf."<LI>Подключение к хосту невозможно!</LI>");
mysql_select_db(db_name_af) or die ($errf=$errf."<LI>Подключение к базе данных невозможно!</LI>");
$date_g=getdate();
$N_d=$date_g['year']."-".forming_01_t($date_g['mon'])."-".forming_01_t($date_g['wday']);
$N_t=forming_01_t($date_g['hours']).":".forming_01_t($date_g['minutes']).":".forming_01_t($date_g['seconds']);
echo $N_d."<BR>".$N_t;
$request = mysql_query("INSERT INTO `MESSAGES` (`CAPTION`,`PICTURE`,`TEXT`,`INDEX_TM`,`AVTOR`,`DATE`,`TIME`) values ('$TITLE','$PIC_ICO','$NEW_MES','$part','$TITLE','$N_d','$N_t')");
if ($request==true)
{
echo "Всё хорошо!";
}
else
{
echo "Всё плохо.";
}
mysql_select_db(db_name_af) or die ($errf=$errf."<LI>Подключение к базе данных невозможно!</LI>");
$date_g=getdate();
$N_d=$date_g['year']."-".forming_01_t($date_g['mon'])."-".forming_01_t($date_g['wday']);
$N_t=forming_01_t($date_g['hours']).":".forming_01_t($date_g['minutes']).":".forming_01_t($date_g['seconds']);
echo $N_d."<BR>".$N_t;
$request = mysql_query("INSERT INTO `MESSAGES` (`CAPTION`,`PICTURE`,`TEXT`,`INDEX_TM`,`AVTOR`,`DATE`,`TIME`) values ('$TITLE','$PIC_ICO','$NEW_MES','$part','$TITLE','$N_d','$N_t')");
if ($request==true)
{
echo "Всё хорошо!";
}
else
{
echo "Всё плохо.";
}
может, пропустил, но не нашел никакой ошибки. Возможно, проблема в функции forming_01_t(). Попробуйте ее выкинуть из кода и поставить echo('1') и так далее между каждыми строками, чтобы понять где "залипает" код
Блин, уже месяц разобраться не могу:(
2. $request==true могу гарантировать, что это неправильно.
3. Учимся писать правильно, коротко:
3.1 Названия переменных должны начинаться с маленьких букв и в качестве разделителя между словами использовать первую букву заглавно, либо подчёркивание и НЕ должны писатьсяться заглавными буквами.
3.2 Для название полей в БД можно использовать тот же синтаксис (даже нужно).
3.3. Между знаками сравнения (приравнивания и т.д. ) и переменными (строками, числами и т.д.) должны быть пробелы.
3.4 Названия функций и переменных должны носить описательный характер
3.5 Код должен быть документирован.
Только соблюдая для начала хотя бы эти простейшие правила ты сможешь разобраться в том, что написал.
4. Не могу понять содержимое для ввода времени, т.к. есть простейший NOW()
5. Старайся хранить время в timestamp
А что mysql_error выдает?
IMHO, может где-то строка с неквотированными символами попадается, вот и не пишет ничего в БД. Правда в код не вчитывался, ибо cancer brain... ))))
ЗЫ: научись код писать
и $request == true точно не правильно )))))
PS: мож я конечно ламер..... а что вот ЭТО
Код:
or die ($errf=$errf."<LI>Подключение к базе данных невозможно!</LI>")
$request==true, конечно некорректно, но это не наша проблема, ведь скрипт НИЧЕГО не выводит, даже по else
по идее-то, должен вывести результат выполнения = (то есть ДА или НЕТ)... вот... ну да ладно ) работает и фик с ним, бум знать
Дамп таблицы:
Между тем массовая просьба выдать результат 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 'fpic/smiles/2.gif'>'
Всё разобрался,:) убрал одинарные ковычки.... заработало.
А как правильно?:o
тут,
Как указано
Цитата:
Только для запросов SELECT, SHOW, EXPLAIN, DESCRIBE, mysql_query() возвращает указатель на результат запроса, или FALSE если запрос не был выполнен. В остальных случаях, mysql_query() возвращает TRUE в случае успешного запроса и FALSE в случае ошибки. Значение не равное FALSE говорит о том, что запрос был выполнен успешно. Он не говорит о количестве затронутых или возвращённых рядов. Вполне возможна ситуация, когда успешный запрос не затронет ни одного ряда.
То есть проверяйте на false, но не на true, потому что можете ошибиться в виде запроса, а потом долго расковыривать.
Цитата: PAVEL BASIC
Всё разобрался,:) убрал одинарные ковычки.... заработало.
... а между тем я на эту ошибку ещё в тяпницу ни свет ни заря указал... ;)