Здравствуйте! Есть функция, которая записывает значения в БД. Я её сделал вчера для одного php-файла на сервере, в котором она работает. Сегодня скопировал как есть в php-файл с другим именем и поменял только имя таблицы, имена переменных и названия столбцов в таблице — не работает. Строка не записывается в таблицу. Команда return (строчки: 28–34) в обоих случаях не возвращает никакого значения. То есть до выполнения этого действия дело даже не доходит. Уже пол-дня смотрю на этот кусок кода как баран на новые ворота и не понимаю где может быть ошибка. Синтаксис проверил, названия столбцов в БД проверил — ошибок нигде нет. В чём может быть проблема? Заранее спасибо! PHP: <? // --- // add a brand // --- function add($logo,$photo,$bname_ru,$bname_pl,$bname_en,$bname_ua,$bdescr_ru,$bdescr_pl,$bdescr_en,$bdescr_ua,$bcountry_ru,$bcountry_pl,$bcountry_en,$bcountry_ua,$blink,$bexcl,$bord) { GLOBAL $db; $bname_ru = addslashes(trim($bname_ru)); $bname_pl = addslashes(trim($bname_pl)); $bname_en = addslashes(trim($bname_en)); $bname_ua = addslashes(trim($bname_ua)); $bdescr_ru = addslashes(trim($bdescr_ru)); $bdescr_pl = addslashes(trim($bdescr_pl)); $bdescr_en = addslashes(trim($bdescr_en)); $bdescr_ua = addslashes(trim($bdescr_ua)); $bcountry_ru = addslashes(trim($bcountry_ru)); $bcountry_pl = addslashes(trim($bcountry_pl)); $bcountry_en = addslashes(trim($bcountry_en)); $bcountry_ua = addslashes(trim($bcountry_ua)); $blink = trim($blink); $bexcl = trim($bexcl); $bord = trim($bord); $logo = trim($logo); $photo = trim($photo); $query = mysql_query("INSERT INTO my_brands (logo,photo,name_ru,name_ua,name_pl,name_en,description_ru,description_pl,description_en,description_ua,country_ru,country_pl,country_en,country_ua,link,excl,order) VALUES ('$logo','$photo','$bname_ru','$bname_ua','$bname_pl','$bname_en','$bdescr_ru','$bdescr_pl','$bdescr_en','$bdescr_ua','$bcountry_ru','$bcountry_pl','$bcountry_en','$bcountry_ua','$blink','$bexcl','$bord')"); if(!$query) { return "error=" . mysql_error(); } else { $query = ""; return "bID=".mysql_insert_id(); } } if(isset($_POST["action"])) { switch($_POST["action"]) { case "add": $result = add($_POST['logo'],$_POST['photo'],$_POST['bname_ru'],$_POST['bname_pl'],$_POST['bname_en'],$_POST['bname_ua'],$_POST['bdescr_ru'],$_POST['bdescr_pl'],$_POST['bdescr_en'],$_POST['bdescr_ua'],$_POST['bcountry_ru'],$_POST['bcountry_pl'],$_POST['bcountry_en'],$_POST['bcountry_ua'],$_POST['blink'],$_POST['bexcl'],$_POST['bord']); print $result; break; } } ?>
Вот что мне выдал сервер, когда я попробовал передать параметр action через GET: Написано, что ошибка в синтаксисе, но я её не вижу... Ещё нашёл аналогичную решённую проблему: http://www.cyberforum.ru/mysql/thread200438.html но я не понял, как её решили...
...а впроблема была в слове order. Оно в MySQL — служебное. Его нужно было написать с апострофами: `order` Тема закрыта.