Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   insert into(mysql) (http://www.flasher.ru/forum/showthread.php?t=75802)

Ostgur 20.02.2006 15:51

insert into(mysql)
 
Значит пытался сделать добавку элемента через форму, пробывал практически всё, и всё оказалось бессмысленным, вот урезанный код под тест:

Код:

<html>
<head>
<title>TEST</title>
</head>
<?
include("../bd_conn.ini");

if(mysql_query("insert into port(id, name, desc, img, imgb) values(1, 'test', 'test', 'test', 'test')")){
echo "<br />Элемент добавлен.";
} else{
echo "<br />Элемент не удалось добавить.";
 };

?>
</html>

bd_conn.ini - подключение к БД:
Код:

<?
$conn = mysql_connect("localhost", "ostgur") or die("Невозможно подключиться к БД!");
mysql_select_db("bd1");
echo "FUCK";
?>

Вот сама таблица:

Код:

CREATE TABLE `port` (
`id` INT( 11 ) NOT NULL,
`name` VARCHAR( 50 ) ,
`desc` TEXT,
`img` VARCHAR( 50 ),
`imgb` VARCHAR( 50 )
) TYPE = MYISAM;


Значит через запрос к MySQL Через phpMyAdmin всё работает прекрасно, как перехожу к манипуляциям на PHP Ничего(((
Пробывал даже каждый раздел(id, name...) оставлять в запросе по одному и на "desc" не работает, а когда делаешь запрос с элементами больше 1, то в большинстве вариаций также не работает. Что я делаю не так, вроде запрос правильно написал, никаких ошибок?

p.s. у нарколога не числюсь...

Skubent 20.02.2006 16:13

все работает, копай в настройки php, mysql.
Попоробуй для начала явно указывать $conn вторым аргументом mysql_query();
Проверь, наличие БД, таблицы в ней.
Припиши не echo "не добаивлось";, а echo mysql_error();

Ostgur 20.02.2006 16:26

Таблица, БД, всё это работает, веть Бд задействована не только в этой части.

Вот мне он что написал после "echo mysql_error();", дословно:
Цитата:

FUCKYou have an error in your SQL syntax near 'desc, img, imgb) values(1, 'test', 'test', 'test', 'test')' at line 1

Skubent 20.02.2006 16:33

Есть мнение, что desc - зарезервированное слово.
К примеру, describe <tablnename> <=> desc <tablename>
Дальше мысль развивать, или сам сообразишь, что к чему ?

Ostgur 20.02.2006 16:58

Вот эт действительно "FUCK", теперь даж не знаю с чего начать, ведь я везде desc юзал( Ладно, придётся менять и всё прошаривать.

Ostgur 20.02.2006 18:46

Ещё, ввёл тест, то что в поле нейм не отправляется и появляется ошибка:
Unknown column 'dfgdfgdf' in 'field list'

Но когда без переменных запрос делаешь, всё ок, в чём опять я не так замутил?(
Код:

          $id        = $HTTP_POST_VARS["id"];
          $n = $HTTP_POST_VARS["n"];
          $des = $HTTP_POST_VARS["des"];
          $img = $HTTP_POST_VARS["img"];
          $imgb = $HTTP_POST_VARS["imgb"];
          if(mysql_query("insert into port(id, name, des, img, imgb) values($id, $n, $des, 'http://ostgur.com/port/{$id}/{$img}', 'http://ostgur.com/port/{$id}/{$imgb}')")){
          echo "<br />Элемент добавлен.";
          } else{
          echo "<br />Элемент не удалось добавить. ";
          echo mysql_error();
          };
        };


Skubent 20.02.2006 18:53

Тебеж написали - смотри внимательно запрос, пытаешься поле "dfgdfgdf" записать, которого в базе нет. Ищщи багу.
И на будущее - POST данные в базу напрямую писать - дело неблагодарное. Используй mysql_real_escape_string();


Часовой пояс GMT +4, время: 22:30.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.