2012-07-22 66 views
0

我使用下面的代码将表单中的值插入到MySQL数据库中,但是在代码执行MySQL表后显示NULL,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 2012-07-22 07:02:15

回答

1

用你这样的查询

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

谢谢,它已经解决了这个问题 – Yoosuf 2012-07-22 07:09:26

0

你的意思是$query="insert into vacationtype values(LAST_INSERT_ID(),'". $_GET['vac_name'] ."','". $_GET['vac_comment'] ."')"?你必须插入$ _GET的内容。