2014-07-08 2 views
-2

데이터베이스에 데이터를 삽입하려고합니다. 이 오류 얻을 :이 삽입 내 양식 코드PHP를 사용하여 데이터베이스에 데이터를 삽입 할 때 오류가 발생했습니다.

error getting data

...이 같은 PHP 파일 내부에 삽입 내 PHP 코드는

<body> 

    <form action="#" method="post"> 
    <fieldset> 
    <legend><b>Enter the data:</b></legend> 
    <p>Pick a Date: <input type="date" id="datepicker" name="date" /></p> 
     <p>SANC AMT 
     <select name="f2" size="1"> 
      <option value="">Select Option</option> 
      <option value="NO SANCTION">NO SANCTION</option> 
      <option value="1">1</option> 
      <option value="2">2</option> 
      <option value="3">3</option> 
     </select></p> 

     <p>FORM SALE <select name="f3" size="1"> 
      <option value="">Select Option</option> 
      <option value="NO SALE">NO SALE</option> 
      <option value="1">1</option> 
      <option value="2">2</option> 
      <option value="3">3</option> 
     </select> </p> 
     <p>FORM CHAN <input type="text" name="f4"></p> 
     <p>FORM SUB 1st <input type="text" name="f5"></p> 
     <p>FORM REF <input type="text" name="f6"></p> 
     <p>FORM REJ <input type="text" name="f7"></p> 
     <p>F SUB 2nd <input type="text" name="f8"></p> 
     <p>F SUB 3rd <input type="text" name="f9"></p> 
     <p>FUEL <input type="text" name="f10"></p> 

     <p><input type="submit" name="submit" value="submit"></p> 

    </fieldset> 
    </form> 


</body> 

<?php 
     $conn = mysql_connect("localhost","root",""); 
     $db = mysql_select_db("proj",$conn); 

    if(isset($_POST['submit'])) 
    { 
    $date = $_POST['date']; 
    $f2 = $_POST['f2']; 
    $f3 = $_POST['f3']; 
    $f4 = $_POST['f4']; 
    $f5 = $_POST['f5']; 
    $f6 = $_POST['f6']; 
    $f7 = $_POST['f7']; 
    $f8 = $_POST['f8']; 
    $f9 = $_POST['f9']; 
    $f10 = $_POST['f10']; 

    $sql  = "INSERT into proj1 values('','$date','$f2','$f3','$f4','$f5', '$f6','$f7','$f8','$f9','$f10')"; 

    $query = mysql_query($sql) or die('error getting data'); 

    if($query) 
    { 
     echo "<table align='center'>"; 
     echo '<h1 style="text-align:center;">Inserted</h1><br />'; 
     echo '<h3 style="text-align:center;"><i>You have inserted ....</i></h3>'; 
     echo '<tr><th>Date:</th><td> ' .$date. '</td><tr>'; 
     echo '<tr><th>Sanc amt </th><td> ' .$f2. '</td><tr>'; 
     echo '<tr><th>Form SALE</th><td> ' .$f3. '</td><tr>'; 
     echo '<tr><th>FORM CHan </th><td> ' .$f4. '</td><tr>'; 
     echo '<tr><th>FORM Sub 1st </th><td> ' .$f5. '</td><tr>'; 
     echo '<tr><th>FORM ref </th><td> ' .$f6. '</td><tr>'; 
     echo '<tr><th>FORM rej</th><td> ' .$f7. '</td><tr>'; 
     echo '<tr><th>F sub 2nd</th><td> ' .$f8. '</td><tr>'; 
     echo '<tr><th>F sub 3rd</th><td> ' .$f9. '</td><tr>'; 
     echo '<tr><th>FUEL</th><td> ' .$f10. '</td><tr>'; 
     echo "</table>"; 
    } 
    } 
mysql_close($conn); ?> 

이것은 내 SQL 문

CREATE TABLE IF NOT EXISTS `proj1` (
    `id` int(11) NOT NULL, 
    `DATE` date NOT NULL, 
    `sanc_amt` varchar(11) DEFAULT NULL, 
    `form_sale` varchar(11) DEFAULT NULL, 
    `form_chan` varchar(11) DEFAULT NULL, 
    `form_sub` varchar(11) DEFAULT NULL, 
    `form_ref` varchar(11) DEFAULT NULL, 
    `form_rej` varchar(11) DEFAULT NULL, 
    `f_sub2` varchar(11) DEFAULT NULL, 
    `f_sub3` varchar(11) DEFAULT NULL, 
    `fuel` varchar(11) DEFAULT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1; 
+2

MySQL의 오류를 알려주세요 네가 받고있는 것. "die ('데이터 가져 오는 중 오류'); "die (mysql_error());"와 함께 오류 메시지가 나타납니다. –

+0

mysql_query가 mysql_error를 사용하지 못했습니다. – user2092317

+1

'mysql_query' 호출에서'die (mysql_error)'를 시도하십시오 - 특히, 데이터베이스가 문제를 정확히 알려줄 수 있기 때문에 고정 된 오류 메시지는 개발시 매우 유용하지 않습니다 였다. – andrewsi

답변

0

문제는 id 필드에 있으며, 진술서에서 ''에 대한 ID는 NULL이 아니며 int입니다. 작품을

$sql="INSERT into proj1 (DATE, sanc_amt, form_sale, form_chan, form_sub, form_ref, form_rej, f_sub2, f_sub3, fuel) values('$date','$f2','$f3','$f4','$f5', '$f6','$f7','$f8','$f9','$f10')"; 

을 그리고 수행해야합니다

CREATE TABLE IF NOT EXISTS `proj1` (
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `DATE` date NOT NULL, 
    `sanc_amt` varchar(11) DEFAULT NULL, 
    `form_sale` varchar(11) DEFAULT NULL, 
    `form_chan` varchar(11) DEFAULT NULL, 
    `form_sub` varchar(11) DEFAULT NULL, 
    `form_ref` varchar(11) DEFAULT NULL, 
    `form_rej` varchar(11) DEFAULT NULL, 
    `f_sub2` varchar(11) DEFAULT NULL, 
    `f_sub3` varchar(11) DEFAULT NULL, 
    `fuel` varchar(11) DEFAULT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1; 

을 그리고 당신의 쿼리 :

그래서 테이블에 id 정의에 AUTO_INCREMENT를 추가합니다.

0

오류가 테이블에 있습니다. 'id'를 null이 아니고 기본 키로 지정했습니다.

하지만 '삽입하려고하는'ID에 (기본 키)

해결 방법 : 가 null이 제거 '테이블 proj1 에서 아이디'또는 그것을 자동 증가 할

관련 문제