У вас есть несколько проблем.
Во-первых, строковые значения, которые вы вставляете в базу данных, должны заключаться в одинарные кавычки.
Во-вторых, переменные-массивы в строках должны быть заключены в {}(т. е. $string = "Something something {$_POST['variable']}...";
, чтобы помочь синтаксическому анализатору PHP разобраться с ними.
В-третьих, этот код (после его работы) чрезвычайно уязвим для взлома с помощью SQL-инъекции. Рассмотрите возможность использования PDO и подготовленных операторов (в качестве функций mysql_*
).устарели) или, по крайней мере, введите пользовательский ввод через mysql_real_escape_string()
.
$sql="INSERT INTO customer (Name, Telephone, Email, Address, PostCode, Specialisation) VALUES ('" . mysql_real_escape_string($_POST['firstname']) . "', '" . mysql_real_escape_string($_POST['telephone']) . "', '" . mysql_real_escape_string($_POST['email']) . "', '" . mysql_real_escape_string($_POST['address']) . "', '" . mysql_real_escape_string($_POST['postcode']) . "', '" . mysql_real_escape_string($_POST['special']) . "')";
В-четвертых, вам действительно не следует использовать пользователя базы данных root
для подключения.