<form>
<input name="name" id="name" />
<input name="sex" id="sex" />
<input name="age" id="age" />
......
</form>
<SCRIPT type="text/javascript" src="jquery-1.3.2.min.js"></SCRIPT> 
<SCRIPT type="text/javascript">   
  $.ajax({                                                  
    type: "POST",                                     
    url: "save.php",                                       
    data: $("form").serialize();  
  }); 

</SCRIPT>save.php<?php  
...... 
mysql_select_db($sql_db);  
mysql_query("INSERT INTO messages VALUES ( null,'".mysql_real_escape_string($_post['name'])."', '".mysql_real_escape_string($_POST['sex'])."', ......... )"); 
 
?> 请问以上 mysql_query INSERT INTO  VALUES 有没有简单的写法?序列化传递过来的值很多,需要列一大堆,很长的一列。
能否自动写入数据库表呢?这样当<form>的值和数据库表改动时,这里就不需要更改了。
(注:form表单的值是和数据库表的值对应的。)谢谢

解决方案 »

  1.   

    建议使用PDO 连接数据进行 insert 操作... 这样,你就可以将一个 Array 直接传给 Insert Into 语句了.
      

  2.   

    好像是的。
    能给个符合这样需求的 PDO 实例代码么?还没有摸过PDO呢? 正在查资料......
      

  3.   

    pdo也没有这个例子,还是要自己分的
    看我的框架http://topic.csdn.net/u/20100222/16/b31eaaf2-4ac6-4238-898b-4f06dd3dfbe5.html?38179处理方法是$form=M("表名或模型名")->autoField('name','sex','age')->save();