2013-02-03 6 views
0

II создал форму для вставки новой компании, а также на этой странице это скрипт PHP, который вставляет данные в базу данных.PHP & MYSQL - Не удалось вставить данные в базу данных

Я не знаю, где это ошибка в этом коде.

<?php 
if (isset($_POST['submit'])) 
{ 
    // Form has been submitted. 
    $query = mysql_query("INSERT INTO companies (name, subdomain0, subdomain1, subdomain2, 
    position, country, city, district, contact, set_up_date, address, phone, area_phone_code, website, fax, email) 
    VALUES ('{$_POST['name']}', '{$_POST['domain']}', '{$_POST['subdomain1']}', 
    '{$_POST['subdomain2']}', '{$_POST['position']}', '{$_POST['country']}', '{$_POST['city']}', 
    '{$_POST['district']}', '{$_POST['contact']}', '{$_POST['setdate']}', '{$_POST['address']}', '{$_POST['phone']}', 
    '{$_POST['areacode']}, '{$_POST['website']}', '{$_POST['fax']}', '{$_POST['email']}')"); 

    $result = mysql_query($query, $connection); 
    if (!$result) { 
     echo "The company was not created."; 
    } else { 
     echo "The company was successfully created."; 
    } 
} 
?> 
+0

Какая ошибка вы получаете? – Orangecrush

ответ

2

переписать код и удалить те {} из переменных, как этот

VALUES ('$_POST['name']','$_POST['domain']', '$_POST['subdomain1']',... 

1- быть уверены, чтобы избежать их, прежде чем отправить их в базу данных.

2-Dont использование MySQL, использование PDO или MySQLi

, чтобы избежать их сделать так:

$name = mysql_real_escape_string($_POST['name']) ; 

, а затем передать его в Уре запрос так

VALUES ('$name', .... <-- same with other columns 

Edit-

Попробуйте следующее

if (isset($_POST['submit'])) { // Form has been submitted. 

    $name = mysql_real_escape_string($_POST['name']) ; 
    $subdomain0 = mysql_real_escape_string($_POST['subdomain0']) ; 
    $subdomain1 = mysql_real_escape_string($_POST['subdomain1']) ; 
    $subdomain2 = mysql_real_escape_string($_POST['subdomain2']) ; 
    $position = mysql_real_escape_string($_POST['position']) ; 
    $country = mysql_real_escape_string($_POST['country']) ; 
    $city = mysql_real_escape_string($_POST['city']) ; 
    $district = mysql_real_escape_string($_POST['district']) ; 
    $contact = mysql_real_escape_string($_POST['contact']) ; 
    $set_up_date = mysql_real_escape_string($_POST['setdate']) ; 
    $address = mysql_real_escape_string($_POST['address']) ; 
    $phone = mysql_real_escape_string($_POST['phone']) ; 
    $areacode = mysql_real_escape_string($_POST['areacode']) ; 
    $website = mysql_real_escape_string($_POST['website']) ; 
    $fax = mysql_real_escape_string($_POST['fax']) ; 
    $email = mysql_real_escape_string($_POST['email']) ; 

$query = mysql_query("INSERT INTO companies (name, subdomain0, subdomain1, subdomain2, 
position, country, city, district, contact, set_up_date, address, phone, area_phone_code, website, fax, email) 
    VALUES ('$_POST['name']', '$subdomain0', '$subdomain1', 
    '$subdomain2', '$position', '$country', '$city', 
    '$district', '$contact', '$set_up_date', '$address', '$phone', 
    '$areacode, '$website', '$fax', '$email')"); 

     echo "The company was successfully created."; 
    else { 
     echo "The company was not created."; 

    } 
    } 
    ?> 
0
INSERT INTO companies 
SET name = $name, 
    subdomain0 = $domain, 
    subdomain1 = $doamin1 

так далее

0

вы должны быть осторожны с sql injections. вы можете перейти по ссылке, чтобы узнать о других параметрах функций mysql_ *, поскольку она устарела.

также всегда лучше попытаться выяснить ошибку, используя функцию mysql_error, чтобы распечатать ошибку. (проверьте ссылку на альтернативы, так как это слишком устарело)

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