Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > Добавление записей в таблицу


Автор: SneG0K 10.5.2008, 22:18
Код

  $title=$_POST['title'];
  $screen=$_POST['screen'];
  $size=$_POST['size'];
  $link=$_POST['link'];
  $type=$_POST['type'];
  $body=$_POST['body'];
  $result=mysql_query("INSERT INTO files (title, body, screen, size, link, type) VALUES ($title, $body, $screen, $size, $link, $type)",$link_id);


Ошибок нет и записи не добавляются... 
Код

$link_id=mysql_connect($base, $user, $password);
if ($link_id == NULL) { 
 echo 'Ошибка Подключения к базе данных! Остановка сценариев!';
 exit;
}
if (mysql_select_db($database, $link_id)) {} else {
 echo 'Ошибка при подключении к базе данных! Остановк сценариев!';
 exit;
}
$link_id - это идентификатор соединения с БД... БД MySQL 5

Автор: Feldmarschall 10.5.2008, 22:57
Рекомендую к прочтению. http://phpfaq.ru/slashes#mysql
Этот, или любой другой материал по базовому синтаксису MySQL.

Автор: MoLeX 11.5.2008, 13:50
SneG0K, попробуй вот так:
Код

mysql_query("INSERT INTO `files` (`title`, `body`, `screen`, `size`, `link`, `type`) VALUES ('".$_POST["title"]."', '".$_POST["body"]."', '".$_POST["screen"]."', '".$_POST["size"]."', '".$_POST["link"]."', '".$_POST["type"]."')") or die(mysql_error());

Автор: Feldmarschall 11.5.2008, 13:57
попробовать-то он попробует.
Но хочется, чтобы человек хоть немного понимал, что делает. что означают все эти кавычечки, точечки и запятые.
Почему все пишется так, а не иначе.

К тому же, если уж давать готовый код, то тогда уж так, чтобы ошибок было меньше, а пользы - больше:
Код

foreach ($_POST as $key => $value) $_POST[$key]=mysql_real_escape_string($value);
$query="INSERT INTO `files` (`title`, `body`, `screen`, `size`, `link`, `type`) VALUES ('".$_POST["title"]."', '".$_POST["body"]."', '".$_POST["screen"]."', '".$_POST["size"]."', '".$_POST["link"]."', '".$_POST["type"]."')";
mysql_query($query) or trigger_error(mysql_error()." Query: ".$query);

mysql_real_escape_string - в комментариях не нуждается
trigger_error вместо die() - чтобы выполнение скрипта не прервалось, а можно было обработать результат ошибки и корректно завершить программу.
и чтобы ошибка выводилась в соответствии с настройками пхп = если отображать, то отобразилась, если в лог - то записалась в лог.
Запрос в переменную - чтобы можно было вывести вместе с сообщением об ошибке.

Автор: SneG0K 11.5.2008, 17:14
Feldmarschall, MoLeX - спасибо огромное за помощь smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)