2013-01-18 6 views
-1

개인 정보를 입력하고 DB에 저장하는 간단한 양식을 설정했지만 작동하지 않습니다.PHP를 사용하여 MySQL에 간단한 데이터 저장하기

양식 HTML :

<html> 
<body> 
<form name="test" action="store.php" method="post"> 
Voornaam: <input type="text" name="first_name"> <br> 
Achternaam: <input type="text" name="last_name"> <br> 
E-Mail: <input type="text" name="e-mail"> <br> 
Telefoon: <input type="text" name="phone"> <br> 
Adres: <input type="text" name="address"> <br> 
Postcode: <input type="text" name="postal_code"> <br> 
Stad: <input type="text" name="city"> <br> 
Provincie: <input type="text" name="province"> <br> 
Land: <input type="text" name="country"> <br> 
<input type="submit" value="Verzenden"> 
</form> 
<body> 
</html> 

그리고 PHP :

<?php 
/*Database test. 
© 2013 Sydcul. All rights reserved.*/ 

//Please change the following settings: 
/*Your database host*/ $host = "localhost"; 
/*Your database user*/ $user = "root"; 
/*Your database password*/ $password = ""; 

//Please don't change the following: 
$connection = mysql_connect($host, $user, $password); 

mysql_select_db("contact", $connection); 

$debug = "INSERT INTO data (first_name, last_name, e-mail, phone, address, postal_code, city, province, country) 
VALUES ('" . $_POST["first_name"] . "', '" . $_POST["last_name"] . "', '" . $_POST["e-mail"] . "', '" . $_POST["phone"] . "', '" . $_POST["address"] . "', '" . $_POST["postal_code"] . "', '" . $_POST["city"] . "', '" . $_POST["province"] . "', '" . $_POST["country"] . "')"; 

mysql_query("INSERT INTO data (first_name, last_name, e-mail, phone, address, postal_code, city, province, country) 
VALUES ('" . $_POST["first_name"] . "', '" . $_POST["last_name"] . "', '" . $_POST["e-mail"] . "', '" . $_POST["phone"] . "', '" . $_POST["address"] . "', '" . $_POST["postal_code"] . "', '" . $_POST["city"] . "', '" . $_POST["province"] . "', '" . $_POST["country"] . "')"); 

echo $debug; 

mysql_close($connection); 
?> 

나는 내가 한 번 일을 가지고 생각하지만, 그 첫 번째 이름이었다. 나는 그것이 보이지 않는다는 것이 정말 명백한 것이라고 생각합니다. 그래서 그것을보고 도와주세요. 내가 디버깅에 디버그 물건을 넣어

, 그것은 나에게이 보여줍니다

INSERT INTO data (first_name, last_name, e-mail, phone, address, postal_code, city, province, country) VALUES ('John', 'Johnson', '[email protected]', '1234567890', 'Street 1', '1234 AB', 'City', 'Province', 'Country') 
+2

[** 새 코드 **에서 mysql_ * 함수를 사용하지 마십시오 (http://bit.ly/phpmsql). 더 이상 유지 관리되지 않으며 공식적으로 사용되지 않습니다 (https://wiki.php.net/rfc/mysql_deprecation). [** 빨간색 상자 **] (http://j.mp/Te9zIL)를 참조하십시오. 대신 [* prepared statements *] (http://j.mp/T9hLWi)에 대해 알아보고 [PDO] (http://php.net/pdo) 또는 [MySQLi] (http://php.net/)를 사용하십시오. mysqli) - [이 기사] (http://j.mp/QEx8IB)는 어떤 결정을 내리는 데 도움이 될 것입니다. PDO를 선택하면 [여기는 좋은 튜토리얼입니다] (http://j.mp/PoWehJ). –

+0

MySQL을 디버깅 할 때 항상 mysql_query가 실패했는지 여부와 오류가 발생했는지 확인하십시오. '$ q = mysql_query ('...'); if (! $ q) {die (mysql_error()); }'http://php.net/manual/en/function.mysql-error.php –

+0

비추천적 인 사실을 알려준 주셔서 감사합니다. 나는 오래된 코드를 사용하는 것을 좋아하지 않는다. – Sydcul

답변

3

최종 쿼리가 있어야합니다 귀하의 이메일 필드 e-mail는 같은 백틱 문자 (`)로 묶어야합니다

INSERT INTO data (first_name, last_name, `e-mail`, phone, address, postal_code, city, province, country) VALUES ('John', 'Johnson', '[email protected]', '1234567890', 'Street 1', '1234 AB', 'City', 'Province', 'Country') 
관련 문제