2012-07-22 2 views
0

아래 코드를 사용하여 양식의 값을 MySQL 데이터베이스에 삽입하지만 코드 실행 후 MySQL 테이블은 실제 값 대신 NULL을 표시합니다.변수가 실제 값을 저장할 때 PHP가 NULL을 MySQL 데이터베이스에 삽입합니다.

나는 값이 올바르게 GET 함수에서 얻어졌다 있는지 여부를 확인하신 후, 그 문제는 없습니다 중 하나

<?php 
    $vac_name=$_GET['vac_name']; 
    $vac_comment=$_GET['vac_comment']; 
    echo $vac_name; 
    echo $vac_comment; 
    $con=mysql_connect("localhost","root",""); 
    if($con==true){ 
     echo "Connected to the database"; 
    if(isset($_GET['vac_name'], $_GET['vac_comment'])){ 

     mysql_select_db("attendance_db",$con); 
     $query = "insert into vacationtype values(LAST_INSERT_ID(),vac_name,vac_comment)"; 
     $result=mysql_query($query,$con); 
     //$row=mysql_num_rows($result); 
    // if($row>0){ 
     if($result==true){ 
      echo "Successfully saved your message <br> We shall be in contact with you shortly"; 
     }else{ 
      echo mysql_error(); 
      echo "Sorry the message was not saved <br> Please try again. Thank You"; 
     } } 
     mysql_close($con); 
    }else{ 
     echo "Cannot connect to the database"; 
    } 
?> 
+0

그건''INSERT' (http://dev.mysql.com/doc/refman/5.5/en/insert.html)의 작동 방식이 아닙니다. 실제로는 컬럼 값을 제공하지 않습니다. 또한 고대의 mysql_ * 함수로 새로운 코드를 작성하는 것을 중단하십시오. 그들은 더 이상 유지되지 않으며 커뮤니티는 [비추천 프로세스]를 시작했습니다 (http://news.php.net/php.internals/53799). 대신 준비된 구문을 배우고 [PDO] (http://php.net/pdo) 또는 [MySQLi] (http://php.net/mysqli)를 사용해야합니다. 만약 당신이 배울 점이 있다면, 여기 [PDO 관련 튜토리얼] (http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers). – DCoder

답변

1

당신은 뜻이

insert into vacationtype values('LAST_INSERT_ID()','vac_name','vac_comment') 
+0

감사합니다. 문제가 해결되었습니다. – Yoosuf

0

처럼 쿼리를 사용 $query="insert into vacationtype values(LAST_INSERT_ID(),'". $_GET['vac_name'] ."','". $_GET['vac_comment'] ."')"? $ _GET의 내용을 삽입해야합니다.

관련 문제