2014-01-28 15 views
-3

Я не могу вставить свои данные в базу данных MySQL с помощью PHP. Я искал веб-сайт уже 2 дня. Код приведен ниже. Пожалуйста помоги.Я не могу вставить свои данные в базу данных MySQL, используя PHP

Ошибка Ошибка: У вас возникла ошибка в синтаксисе SQL; проверьте руководство, которое соответствует версии сервера MySQL для правильного синтаксиса, чтобы использовать рядом с «-1, адресно-2, штат, город, пин-код, стационарный, мобильный, сайт, email_address) ЗНАЧЕНИЯ» в строке 1

<?php 
$con=mysqli_connect("localhost","root","","databasename"); 
if (mysqli_connect_errno()) 
{ 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 
if (isset($_POST['builder_name']))  
{  
    echo "exist";  
}  

$sql="INSERT INTO builder_basic_info(builder_name,address-1, 
     address-2,state,city,pincode,landline,mobile,website,email_address) 
    VALUES('".$_POST['builder_name']."','".$_POST['address_1']."', 
'".$_POST['address_2']."','".$_POST['state']."','".$_POST['city']."', 
'".$_POST['pincode']."','".$_POST['landline']."','".$_POST['mobile']."', 
'".$_POST['website']."','".$_POST['email']."')"; 
if (!mysqli_query($con,$sql)) 
{ 
    die('Error: ' . mysqli_error($con)); 
} 
echo "1 record added"; 
mysqli_close($con); 
?>  
+2

, пожалуйста, отправьте сценарий OUTPUT! – silly

+0

В чем проблема/ошибка? –

+2

Этот «адрес-2» может быть «причиной». Там на самом деле 17 пробелов, но SO не делает их правильно. Возьмите пробелы и перейдите на 'address-2' –

ответ

2

Черта - зарезервированный символ в mysql. Вы можете обернуть имена столбцов в backticks (т. Е. `address-1`), и, возможно, это сработает, но вы действительно должны назвать их чем-то другим (просто буквы и символы подчеркивания, как правило).

Кроме того, я действительно должен упомянуть, что это уязвимо для SQL-инъекции. Пожалуйста, не размещайте это на общедоступном веб-сайте с чем-либо важным в нем.

Смежные вопросы