@Gorthaur

Как отправить данные в MySQL с помощью PHP?

Коллеги, не пойму, почему данные не добавляются в БД?
Форма отправки
<meta charset="UTF-8">
<form method="post" action="action.php">
  Адрес: <input size="255" name="address" type="text">
  IP-сервера: <input size="255" name="IP" type="text">
  <input value="Добавить запись" type="submit" name="submit">
  </form>

Скрипт обработки
<?php header('Content-Type: text/html; charset=utf-8');
 include ('db.php');
 error_reporting (E_ALL);
 if(isset($_POST['submit']))

 $address = $_POST['address']; 
 $IP = $_POST['IP']; 
 $sql = 'INSERT INTO table(address, IP, Login, TV, Terminal, monitoring)
 VALUES("'.$address.'", "'.$IP.'", "'.$IP.'", "'.$IP.'", "'.$IP.'", "'.$IP.'")';
// проверка
 if(!mysql_query($sql))
 {echo '<center><p><b>Ошибка при добавлении данных!</b></p></center>';}
 else
 {echo '<center><p><b>Данные добавлены!</b></p></center>';}
?>


на экране только это:
Подключение к базе данных adminka выполнено.

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


Ошибок никаких не выдает. В поле IP могут присутствовать точки, но насколько я помню это не критично?
  • Вопрос задан
  • 1275 просмотров
Решения вопроса 1
DevMan
@DevMan
покажите схему DB.
ну и использовать mysql_* - моветон.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
eruditecat
@eruditecat
Красноглазик
Сервер MySQL возвращает интерпретатору сообщение об ошибке — разберитесь, как его вывести. Используйте возможности PDO. Изучите, оно того стоит.

Помимо всего прочего,
if(isset($_POST['submit']))        // у Вас по данному условию выполняется только
   $address = $_POST['address'];   // это

// А вот всё следующее выполняется В ЛЮБОМ СЛУЧАЕ:

$IP = $_POST['IP'];
$sql = 'INSERT INTO table(address, IP, Login, TV, Terminal, monitoring) '
    . 'VALUES("'.$address.'", "'.$IP.'", "'.$IP.'", "'.$IP.'", "'.$IP.'", "'.$IP.'")';

// проверка
if(!mysql_query($sql)) {
    echo '<center><p><b>Ошибка при добавлении данных!</b></p></center>';
} else {
    echo '<center><p><b>Данные добавлены!</b></p></center>';
}
Ответ написан
Комментировать
nazarpc
@nazarpc
Open Source enthusiast
1. Распечатайте содержимое $sql, выполните в PhpMyAdmin, внимательно читайте что за ошибка
2. Не используйте mysql_* функции, они устарели, а в последней версии PHP отсутствуют совсем
3. Не подставляйте данные напрямую, нужно ИСКЛЮЧИТЕЛЬНО через подготовленные выражения
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы