Ошибка при добавление данных

magarych

Постоялец
Регистрация
21 Июн 2013
Сообщения
133
Реакции
64
Ошибка при добавление данных
Вроде бы всё правильно, но не добавляет. у меня вопрос я хочу добавить в первую строку моей таблицы в первый столбец YmyaAvotora запись. У меня есть другие столбцы в этой таблице это как то может повлиять на добавление данных?
Код PHP
PHP:
<?php
$host = "mysql7.000webhost.com";
$user = "a1252398_fors117";
$password = "fors117";
$db = "a1252398_zakaz";
if (!$conn = mysql_connect($host, $user, $password))
{
echo "<h2>MySQL Error!</h2>";
exit;
}
$First_name = $_POST['YmyaAvotor'];
mysql_select_db($db);
$result = mysql_query("INSERT INTO `zakaz`.`table` (YmyaAvotor) VALUES('$YmyaAvotor')");
if ($result=='true')
{echo "Ваши данные успешно добавлены";}
else{echo "Ваши данные не добавлены";}
header("Location: index.php");     
?>
Код HTML
HTML:
<html>
<head>
<title>
zakaz
</title>
</head>
<body>
<form action='config.php' method='POST'>
YmyaAvotor:<input type='text' name='YmyaAvotor'><br/>
<input type='submit' value='CHECK'>
</body>
</html>
 
Последнее редактирование модератором:
У тебя видать не включен register_globals, поэтому переменной $YmyaAvotor не существует... Код от Василисы в данном случае сработает.
 
У меня есть другие столбцы в этой таблице это как то может повлиять на добавление данных?

Если эти столбцы обязательны для заполнения, то mysql вернёт ошибку.

Для просмотра ошибок, заменить конец кода на
PHP:
if ($result=='true')
{
  echo "Ваши данные успешно добавлены";

}
else{
  echo "Ваши данные не добавлены";
  echo mysql_errno($conn) . ": " . mysql_error($conn) . "\n";
}
//header("Location: index.php");
 
$First_name = $_POST['YmyaAvotor'];
mysql_select_db($db);
$result = mysql_query("INSERT INTO `zakaz`.`table` (YmyaAvotor) VALUES('$YmyaAvotor')");
Второе выделенное жирным заменить на первое.. иначе зачем первая (в этом блоке) строчка?
И до кучи, про SQL-инъекции почитать рекомендую. или в Имя введи, например,
 
Отвечу проще... Сравнит и поймёт... надеюсь...
Сделал пару пометок... но это далеко не все

PHP:
$host    = "mysql7.000webhost.com";
$user    = "a1252398_fors117";
$password = "fors117";
$db      = "a1252398_zakaz";

if( !($conn = mysql_connect($host, $user, $password)) ) {
    echo "<h2>MySQL Error!</h2>";
    exit;
}

mysql_select_db($db);

$First_name = $_POST['YmyaAvotor'];

/* Пихать данные в SQL запрос без проверки плохо... можно подхватить каку */
/* Добавлять `zakaz`. необязательно, ведь базу уже выбрали выше  с помощью mysql_select_db */

/*
  Почему выбран вариант через SET?
  На мой взгляд так понятней...
  INSERT INTO `table`
  SET `first_name` = 'Vasya',
      `last_name` = 'Kakuli',
      `height` = 186
*/

$result    = mysql_query("INSERT INTO `table` SET `YmyaAvotor` = '{$First_name}'", $conn);

if( !mysql_errno($conn) ) {
    echo "Ваши данные успешно добавлены";
} else{
    echo "Ваши данные не добавлены <br />\n" . mysql_error($conn);
}

/*
Тут не понятно, зачем выводить выше echo если всё равно происходит редирект...
Кстати который не сработает из-за уже отправленных headers :)
*/
header("Location: index.php");
 
Последнее редактирование:
Назад
Сверху