插入多条记录

dllj 2006-07-20 11:21:39
我有一数据表,有60个字段,通过表单插入记录,如果逐一写
$sql = "INSERT INTO sj (a1,...,a60) VALUES ('$_POST[a1]',...'$_POST[a60]')";
实在太烦,而且容易写错,请问有什么简便的方法???
...全文
274 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
dlrmq 2006-07-21
  • 打赏
  • 举报
回复
<?php
$num=60;
$sql = "INSERT INTO sj (";
for($i=1;$i<=$num;$i++)
{
$sql .= "$dat$i,";
}
$sql=substr("$sql",0,-1);
$sql .= ")";
$sql .= " values ( ";
for($i=1;$i<=$num;$i++)
{
$var ="$dat$i";
$sql .= "'".$_POST[$var]."'".",";
}
$sql=substr("$sql",0,-1);
$sql .= ")";

?>
itian 2006-07-20
  • 打赏
  • 举报
回复
$sql = "INSERT INTO sj (";
for($i=0;$i<61;$i++)
{
$sql .= "a".$i.",";
}
$sql .= ")";
$sql .= " values ( ";
for($i=0;$i<61;$i++)
{
$var = "a".$i;
$sql .= "'".$_POST[$var]."'";
}
$sql .= ")";
iasky 2006-07-20
  • 打赏
  • 举报
回复
mysql一次不能执行多条sql
lantersen 2006-07-20
  • 打赏
  • 举报
回复
那你可以写一个数组,将它们关联起来,比方说:
$yourFields = array("forInput1"=>"dataField1","forInput2"=>"dataField2","forInput3"=>"dataField3");
foreach($_POST AS $key=>$value)
{
$fields .= "`".$yourFields[$key]."`,";//数据库字段名;
$values .= "'".$value."',";
}
$fields = "(".substr($fields, 0, -1).") ";//除去最后一个逗号
$values = "(".substr($values, 0, -1).")";//除去最后一个逗号
$sql = "INSERT INTO sj ".$fields." VALUES ".$values;
mousecat4444 2006-07-20
  • 打赏
  • 举报
回复
要是各字段没有逻辑关系呢

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧