На Денвере работало добавление отделов в базу данных,после сборки сервера вручную
перестала работать функция Insert, хотя UPDATE и DELETE работают по-прежнему. Методом
пост приходят переменные,они действительно приходят из скрипта заполнения форм в
скрипт обработки и дабавления в базу,но инсерт не срабатывает,выдает сообщение:
Отдел не добавлен. Но все переменные введеные в формы выводит мне: 'a','c', 'd', 'b', 'f', 'z',
'e'. Таким образом переменные все приходят методом пост,но не добавляются в базу.
Подскажите в чем ошибка??
if (isset($title,$meta_d,$meta_k,$name,$description,$text,$logo))
{result = mysql_query ("INSERT INTO otdel
(title,meta_d,meta_k,name,description,text,logo) VALUES ('$title','$meta_d', '$meta_k', '$name',
'$description', '$text', '$logo')",
$db);
if ($result == 'true') {echo "<p><b><font color='cc3333'>Отдел успешно
добавлен!</font></b></p>";}
else {echo "<p><b><font color='cc3333'>Отдел не добавлен. '$title','$meta_d',
'$meta_k', '$name', '$description', '$text', '$logo'</font></b></p>";}
}
else
{
echo "<p><font color='cc3333'> Вы заполнили не все поля,вернитесь
назад и повторите заполение.</font> </p>";
}
Спустя 31 минута, 17 секунд (13.06.2011 - 09:12) inpost написал(а):
Kumirska
Попов, ай-да ко мне в подпись и учись правильно делать.
$title не равна $_POST['title']; Поэтому все переменные замени на $_POST и будет работать.
Если вдруг снова нет, тогда сюда выложи и форму тоже.
Попов, ай-да ко мне в подпись и учись правильно делать.
$title не равна $_POST['title']; Поэтому все переменные замени на $_POST и будет работать.
Если вдруг снова нет, тогда сюда выложи и форму тоже.
Спустя 6 минут, 59 секунд (13.06.2011 - 09:19) linker написал(а):
Поповс.
INSERT INTO `otdel` (`title`,`meta_d`,`meta_k`,`name`,`description`,`text`,`logo`) ...
Спустя 6 минут, 20 секунд (13.06.2011 - 09:26) Kumirska написал(а):
if (isset($_POST(`title`),$_POST(`meta_d`),$_POST(`meta_k`),$_POST(`name`),$_POST(`description`),$_POST(`text`),$_POST(`logo`)))
{
$result = mysql_query ("INSERT INTO otdel (title,meta_d,meta_k,name,description,text,logo) VALUES (`$_POST(`title`)`,
`$_POST(`meta_d`)`, `$_POST(`meta_k`)`, `$_POST(`name`)`, `$_POST(`description`)`, `$_POST(`text`)`, `$_POST(`logo`)`)",$db);
Ошибка: Fatal error: Can't use function return value in write context in C:\apache\localhost\www
\mark\admin\new_dep.php on line 104
104.
if (isset($_POST(`title`),$_POST(`meta_d`),$_POST(`meta_k`),$_POST(`name`),
$_POST(`description`),$_POST(`text`),$_POST(`logo`)))
Спустя 18 минут, 8 секунд (13.06.2011 - 09:44) Kumirska написал(а):
Ошибка тем не менее осталась:
Fatal error: Can't use function return value in write context in C:\apache\localhost\www\mark
\admin\new_dep.php on line 104
Fatal error: Can't use function return value in write context in C:\apache\localhost\www\mark
\admin\new_dep.php on line 104
Спустя 15 минут, 3 секунды (13.06.2011 - 09:59) Kumirska написал(а):
Спустя 40 минут, 12 секунд (13.06.2011 - 10:39) inpost написал(а):
Kumirska
VALUES (`$_POST(`title`)`, - и кавычка вылетела. и $_POST['title'] , скобки то не круглые.
VALUES (`$_POST(`title`)`, - и кавычка вылетела. и $_POST['title'] , скобки то не круглые.
Спустя 18 минут, 34 секунды (13.06.2011 - 10:58) Kumirska написал(а):
if (isset($_POST['title'],$_POST['meta_d'],$_POST['meta_k'],$_POST['name'],$_POST
['description'],$_POST['text'],$_POST['logo']))
{
$result = mysql_query ("INSERT INTO otdel
(title,meta_d,meta_k,name,description,text,logo) VALUES ('$_POST[title]','$_POST
[meta_d]','$_POST[meta_k]','$_POST[name]','$_POST[description]','$_POST[text]','$_POST[logo]'",
$db);
if ($result == TRUE) {echo "<p><b><font color='cc3333'>Отдел успешно
добавлен!</font></b></p>";}
else {echo mysql_error()."<p><b><font color='cc3333'>Отдел не добавлен. </
font></b></p>".$_POST['title'],$_POST['meta_d'],$_POST['meta_k'],$_POST['name'],$_POST
['description'],$_POST['text'],$_POST['logo'];}
}
"Отдел не добавлен" показывает. Вписал еще 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
переменные приходят,то есть не пустые они,все 7 переменных пришли и через echo
высветились
почему направильный синтаксис,вроде все верно написано??
Спустя 25 минут, 57 секунд (13.06.2011 - 11:24) ИНСИ написал(а):
Kumirska видно в тексте или еще где-то, ты передаешь одинарные ковычки и т.д... и перед тем как заносить в БД надо все это дело обрабатывать. Попробуй код ниже:
if(isset($_POST['title'],$_POST['meta_d'],$_POST['meta_k'],$_POST['name'],$_POST['description'],$_POST['text'],$_POST['logo'])) {
function safesql($source) {
$source = trim($source);
if(get_magic_quotes_gpc()) $source = stripslashes($source);
return mysql_real_escape_string($source);
}
$result = mysql_query("
INSERT
INTO `otdel`(`title`,`meta_d`,`meta_k`,`name`,`description`,`text`,`logo`)
VALUES('".safesql($_POST['title'])."','".safesql($_POST['meta_d'])."','".safesql($_POST['meta_k'])."',
'".safesql($_POST['name'])."','".safesql($_POST['description'])."','".safesql($_POST['text'])."',
'".safesql($_POST['logo'])."'
)
") or die(mysql_error());
echo "<p><b><font color='cc3333'>Отдел успешно добавлен!</font></b></p>";
}
Спустя 16 минут, 24 секунды (13.06.2011 - 11:40) Kumirska написал(а):
velbox сделал так как ты написал
}
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 5
Отдел не добавлен.
acdbfge //те самы переменные пришли,но не вставились в базу.
if(isset($_POST['title'],$_POST['meta_d'],$_POST['meta_k'],$_POST['name'],$_POST
['description'],$_POST['text'],$_POST['logo'])) {
function safesql($source) {
$source = trim($source);
if(get_magic_quotes_gpc()) $source = stripslashes($source);
return mysql_real_escape_string($source);
}
$result = mysql_query("
INSERT
INTO `otdel`(`title`,`meta_d`,`meta_k`,`name`,`description`,`text`,`logo`)
VALUES('".safesql($_POST['title'])."','".safesql($_POST['meta_d'])."','".safesql
($_POST['meta_k'])."',
'".safesql($_POST['name'])."','".safesql($_POST
['description'])."','".safesql($_POST['text'])."',
'".safesql($_POST['logo'])."'
") /*or die(mysql_error())*/;
if ($result == TRUE) {echo "<p><b><font color='cc3333'>Отдел успешно добавлен!
</font></b></p>";}
else {echo mysql_error()."<p><b><font color='cc3333'>Отдел не добавлен. </
font></b></p>".$_POST['title'],$_POST['meta_d'],$_POST['meta_k'],$_POST['name'],$_POST
['description'],$_POST['text'],$_POST['logo'];}
}
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 5
Отдел не добавлен.
acdbfge //те самы переменные пришли,но не вставились в базу.
Спустя 19 минут, 55 секунд (13.06.2011 - 12:00) Игорь_Vasinsky написал(а):
У тя в БД столбцы так же идут в том же порядке ? ни какой не пропущен?
Посмотри какя я ошибка
Посмотри какя я ошибка
$result = mysql_query("INSERT INTO `otdel`
(`title`,`meta_d`,`meta_k`,`name`,`description`,`text`,`logo`)
VALUES('".safesql($_POST['title'])."','".safesql($_POST['meta_d'])."','".safesql($_POST['meta_k'])."',
'".safesql($_POST['name'])."','".safesql($_POST['description'])."',
'".safesql($_POST['text'])."',
'".safesql($_POST['logo'])."'") or die(mysql_error());
Спустя 23 минуты, 32 секунды (13.06.2011 - 12:24) Kumirska написал(а):
if(isset($_POST['title'],$_POST['meta_d'],$_POST['meta_k'],$_POST['name'],$_POST
['description'],$_POST['text'],$_POST['logo'])) {
$result = mysql_query(" INSERT
INTO otdel(title,meta_d,meta_k,name,description,text,logo)
VALUES('".$_POST['name']."','".$_POST['title']."','".$_POST['meta_d']."',
'".$_POST['meta_k']."','".$_POST['logo']."',0,0,'".$_POST
['description']."'
'".$_POST['text']."',0 "); /*or die(mysql_error())*/
if ($result == TRUE) {echo "<p><b><font color='cc3333'>Отдел успешно добавлен!
</font></b></p>";}
else {echo mysql_error()."<p><b><font color='cc3333'>Отдел не добавлен. </
font></b></p>".$_POST['name'],$_POST['title'],$_POST['meta_d'],$_POST['meta_k'],$_POST
['logo'],$_POST['description'],$_POST['text'];} }
все расставил по порядку следования в таблице, дописал 3 недостающих переменные
(кроме айди- у него автоинкремент стоит) присвоив им значения 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 '' at line 5
Отдел не добавлен.
bacdefz
все 7 переменных приходят(bacdefz), но в базу никак не попадут...
Спустя 31 минута, 50 секунд (13.06.2011 - 12:55) Invis1ble написал(а):
Kumirska
В запросе не хватает скобки закрывающей:
Форматируй код по-человечески, отступы делай пробелами, а не табуляцией, тогда ошибки выявить на порядок легче.
Вот несколько форумчан уже просмотрело твой код, и никто не заметил ошибку из-за вырвиглазного форматирования.
В запросе не хватает скобки закрывающей:
$result = mysql_query("
INSERT
INTO `otdel` (`title`,`meta_d`,`meta_k`,`name`,`description`,`text`,`logo`)
VALUES (
'".safesql($_POST['title'])."',
'".safesql($_POST['meta_d'])."',
'".safesql($_POST['meta_k'])."',
'".safesql($_POST['name'])."',
'".safesql($_POST['description'])."',
'".safesql($_POST['text'])."',
'".safesql($_POST['logo'])."'
)") or die(mysql_error());
Форматируй код по-человечески, отступы делай пробелами, а не табуляцией, тогда ошибки выявить на порядок легче.
Вот несколько форумчан уже просмотрело твой код, и никто не заметил ошибку из-за вырвиглазного форматирования.
Спустя 9 минут, 58 секунд (13.06.2011 - 13:05) Kumirska написал(а):
Invis1ble спасибо за совет!
ошибку исправил,у меня первым параметром идет столбец id, а так как у него стоит
автоинкремент я указывал сразу поле name, судя по всему запрос пытался вписать поле нэйм
в поле айди,и вылетала ошибка,так как там int. В общем поставил первым параметром
NULL,остальные расставил по порядку следования в таблице, добавил название поля id
которому как раз и присваивается NULL и все заработало! спасибо большое Всем!
ошибку исправил,у меня первым параметром идет столбец id, а так как у него стоит
автоинкремент я указывал сразу поле name, судя по всему запрос пытался вписать поле нэйм
в поле айди,и вылетала ошибка,так как там int. В общем поставил первым параметром
NULL,остальные расставил по порядку следования в таблице, добавил название поля id
которому как раз и присваивается NULL и все заработало! спасибо большое Всем!
Спустя 7 минут, 45 секунд (13.06.2011 - 13:13) Invis1ble написал(а):
Дело не в id, а в синтаксической ошибке с отсутствующей скобкой. Если id автоинкрементное, значение для него не нужно указывать
_____________
никому не дано знать абсолютной истины, ибо понятия, которыми мы оперируем, сами по себе относительны