数组数据很好地发送并保存到表中,但显示错误消息

时间:2014-06-17 05:26:23

标签: php mysql sql arrays

a'm尝试将数组数据保存到mysql表中,数据类似这样

001 / TK / 2014 | 10011 / TK / 2014 | 20017 / TK / 2014 | 30006 / TK / 2014 | 40019 / TK / 2014 | 50,

首先我尝试使用此代码爆炸数据

$array = explode(",",POST['data']);

其次我使用循环代码来分割beetwen Id | value而不是像这样的输出:

Array ( [0] => 001/TK/2014 [1] => 10 ) 

这是循环代码并保存到表中:

foreach($array as $r){
 $result = explode("|", $r);  
  if(!empty($result)){
$cn->insertRows("tdesa","IdDesa,IdKat,Jumlah,Ket,tahun",
"'$kode','$result[0]',$result[1],'test','$today'");
}}

数据保存得很好,但为什么要显示错误消息: 您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以便在第1行''test','2014')附近使用正确的语法 INSERT INTO tdesa(IdDesa,IdKat,Jumlah,Ket,tahun)VALUES('0002 / DESA / 2014','',,'test','2014')

为什么sql会读到这个('0002 / DESA / 2014','',,'test','2014'),但表格保存&有这个价值吗?

谁能帮助我?

1 个答案:

答案 0 :(得分:0)

试试这个,首先删除最后一个逗号

$data = '001/TK/2014|10,011/TK/2014|20,017/TK/2014|30,006/TK/2014|40,019/TK/2014|50,';
$data = rtrim($data,',');

$array = explode(",", $data);