Ошибка отправки формы PHP MySQL

Мне нужна помощь с этим простым представлением формы PHP/MySQL. Ниже приведен код и ошибка, которую я получаю. Все хорошо с PHP Script. Кажется, соединение с базой данных Mysql доставляет мне проблемы.

   mysql_connect("localhost","root","admin");//database connection
   mysql_select_db("employees");

   //inserting data order
   $order = "INSERT INTO data_employees (name, address)
        VALUES ('$name','$address')";

   //declare in the order variable
   $result = mysql_query($order);   //order executes

   if($result)
   {
      echo("<br>Input data is succeed");

   }   else{
       echo("<br>Input data is fail");
   }

Ниже приводится сообщение об ошибке, которое я получаю: ошибка синтаксического анализа: синтаксическая ошибка, неожиданное '?' в C:\xampp\htdocs\Input.php в строке 12.

После того, как я заполняю данные формы и отправляю их иногда, я получаю сообщение об ошибке "Предупреждение: mysql_connect(): доступ запрещен для пользователя 'root'@'localhost' (используя пароль: YES) в C:\xampp\htdocs\form_input.php по строке 4 ".

Msgstr "Примечание: неопределённая переменная: имя и адрес в C:\xampp\htdocs\form_input.php в строке 11 Входные данные неверны".

Ваше решение, помощь приветствуется. Благодарю вас

3 ответа

Решение

Для ошибки разбора

Измените ваш эхо-оператор следующим образом в обоих условиях:

echo "<br>Input data is succeed" ;

Примечание: неопределенная переменная: имя и адрес очень ясно из сообщения.

$name & $address нигде не определено.

Может быть, вы хотели бы взять его из запроса.

$name = $_REQUEST['name']; //Name of element in the form
$address = $_REQUEST['address'];

mysql_connect (): доступ запрещен для пользователя

Проверьте правильность строки подключения username & password,


Примечание: пожалуйста, не используйтеmysql_*функции в новом коде. Они больше не поддерживаются и официально устарели. Видишь красную коробку? Вместо этого узнайте о готовых утверждениях и используйте PDO или MySQLi - эта статья поможет вам решить, какие именно. Если вы выбираете PDO, вот хороший урок.

Ваша проблема здесь

$order = "INSERT INTO data_employees (name, address)
    VALUES ('$name','$address')";

вы не определили

$name and $address variables.

пожалуйста, определите их.

Глядя на вашу ошибку MySQL

Предупреждение: mysql_connect(): доступ запрещен для пользователя 'root'@'localhost' (используя пароль: YES) в C:\xampp\htdocs\form_input.php в строке 4

Это просто означает, что у вас неправильная комбинация имени пользователя и пароля для доступа к базе данных.

Также отмечая вашу другую ошибку относительно переменных

Примечание: неопределенная переменная: имя и адрес в C:\xampp\htdocs\form_input.php в строке 11

Это означает, что переменная не была объявлена. Если это то, что публикуется в вашей форме, лучше использовать суперглобальный $_POST вместо того, чтобы конфигурация PHP позволяла устанавливать данные POST как обычные переменные (т. Е. $_POST["name"] против $name). Это обеспечивает большую гибкость при именовании переменных, поскольку у вас не будет конфликтов между опубликованными значениями и обычными переменными в вашем PHP-коде.

Было бы полезно увидеть "Input.php" вашего кода и для ошибки разбора, которую вы упомянули.

Полезные ссылки:

PHP Документы на $_POST

PHP Документы по функции mysql_connect

Другие вопросы по тегам