2014-07-21 3 views
0

오전 작업, 그리고 내가 사용하여 데이터베이스를 생성는 XAMPP와 PHP 버전 5.4.27을 사용

내 로컬 호스트의 데이터베이스에 필드에 데이터를 삽입하는 간단한 형태의 코드를 작성하지 않습니다 XAMPP Control Panel 및 데이터베이스의 이름은 sitedb

하고 테이블 생성 : customers

열은 다음과 같습니다

columns

을 형태의

<html> 
<body> 

<?php 
$con = mysql_connect("localhost","root",""); 
$conSet = mysql_select_db("sitedb",$con); 

    $users_name = $_GET['name']; 
    $users_email = $_GET['email']; 
    $users_tele = $_GET['tele']; 
    $users_age = $_GET['age']; 

    $users_name = mysql_real_escape_string($users_name); 
    $users_email = mysql_real_escape_string($users_email); 
    $users_tele = mysql_real_escape_string($users_tele); 
    $users_age = mysql_real_escape_string($users_age); 

$res = mysql_query("INSERT INTO `sitedb`.`customers`(`CustomerID`,`Full Name`,`Age`,`E-mail`,`Tele Phone`) VALUES (NULL,'$users_name','$users_age','$users_email','$users_tele')",$con); 

    mysql_close($con); 

?> 
</body> 
</html> 

HTML 코드 : 여기

16,내 PHP 코드

<html> 
<body> 

<form action="addCustomer.php" method="get"> 
Full Name: <input type="text" name="name"><br> 
Age: <input type="text" name="age"><br> 
Email: <input type="text" name="email"><br> 
TelePhone: <input type="text" name="tele"><br> 
<input type="submit"> 
</form> 

</body> 
</html> 

내가 localhost을 통해 HTML 파일을 입력하고 양식의 fiels를 입력 할 때와 제출 버튼을 클릭해도 오류는 나타나지 않지만 데이터가 삽입되지 않았습니다.

왜?

+1

Im는 PHP 프로그래머가 아니지만 확실하게, 실제 진술을 실행하고 있습니까? '$ res'가 실행되지 않은 것 같습니다. –

+1

당신은'mysql _ *()'에 대한 호출을 검사하지 않으므로 아무 것도 볼 수 없습니다. 쿼리 후 mysql_error()의 값을 확인하십시오. –

+1

꺼져있는 경우 오류보고를 수행하십시오. mysql_ *을 더 이상 사용하지 말고 대신 mysqli_ *를 사용하십시오. 다시 데이터베이스 테이블에 기본 키 제약 조건이 있는지 확인하십시오. –

답변

1

고객 ID는 null 일 수 없습니다. 따라서 다음 쿼리를 실행하십시오 :

$res = mysql_query("INSERT INTO `sitedb`.`customers`(`Full Name`,`Age`,`E-mail`,`Tele Phone`) VALUES ('$users_name','$users_age','$users_email','$users_tele')",$con); 

또한 오류를 확인해야합니다.

+0

첫 번째 데이터 (CustomerID = 0)가 두 번째로 추가 되었습니까? 그 이유는 무엇입니까? – GabourX

+0

@GabourX가 기본 키입니까? 정의를'auto_increment'로 바꾼다 – Jens

+0

그림을 보면, 왜'Age' 칼럼에서 기본 키 아이콘이 노란색인지,'auto_increment'를 어떻게 설정합니까? – GabourX

0

예 고객 ID가 자동으로 값을 가져오고 자동으로 증가하도록 고객 ID에 기본 키가 있습니다. 따라서 고객 ID를 정의 할 필요가 없으므로 SQL 쿼리가 발생합니다.

0
<html> 
<body> 

<?php 
$con = mysql_connect("localhost","root",""); 
$conSet = mysql_select_db("sitedb",$con); 

$users_name = $_GET['name']; 
$users_email = $_GET['email']; 
$users_tele = $_GET['tele']; 
$users_age = $_GET['age']; 

$users_name = mysql_real_escape_string($users_name); 
$users_email = mysql_real_escape_string($users_email); 
$users_tele = mysql_real_escape_string($users_tele); 
$users_age = mysql_real_escape_string($users_age); 

$res = mysql_query("INSERT INTO `sitedb`.`customers`(`CustomerID`,`Full Name`,`Age`,`E- mail`,`Tele Phone`) VALUES  ('".$users_name."','".$users_age."','".$users_email."','$".users_tele."')",$con); 

mysql_close($con); 

?> 
</body> 
</html> 

u는이 일과하려고 dB의 값을 호출 : - 후 쿼리를 실행

VALUES('".$users_name."','".$users_age."','".$users_email."','$".users_tele."')",$con); 
0

에코 MySQL의 오류 (있는 경우). 적절한 mysql 오류를 얻으려면 다음 코드를 시도하십시오. MySQL을 연결하기 전에

$res = mysql_query("INSERT INTO `sitedb`.`customers`(`Full Name`,`Age`,`E-mail`,`Tele Phone`) VALUES ('$users_name','$users_age','$users_email','$users_tele')",$con); 

if (mysql_errno()) { 
    echo "Mysql error : "mysql_errno($con) . "- " . mysql_error($con) . "\n"; 
    exit; 
} 
    mysql_close($con); 
0

먼저이 라인을 넣어 ->

ini_set('display_errors','On'); 
error_reporting(E_ALL); 

을이 질의 - 적어 다음 양식을 제출하고 대부분의 아마 문제가 당신의 query.and에있을 것입니다>

$insert_query = "INSERT INTO `sitedb`.`customers`(`Full Name`,`Age`,`E-mail`,`Tele Phone`) VALUES ('".$users_name. "', '" .$users_age. "', '" .$users_email. "', '" .$users_tele."')"; 
$res = mysql_query($insert_query); 

일단 쿼리에 문제가 있으면 $insert_query 변수를 반향 출력 한 다음 해당 쿼리를 복사하여 xampp phpmyadmin 패널로 직접 실행하십시오.