PHP MySQL检查请求是否有';#';char插入新行


PHP MySQL check if request have ' # ' char insert a new row

我有一些请求,如下所示:

$input  = "$POS,1234,5223,A,2719";

如果收到如上所述的请求,请使用以下代码处理保存到数据库的过程:

$input_ex = explode(",", $input);
$input_ex[0];
$input_ex[1];
$input_ex[2];
$input_ex[3];
$input_ex[4];
mysql_query("INSERT INTO table_name (cl_1,cl_2,cl_3,cl_4,cl_5)
values ('$input_ex[0]','$input_ex[1]','$input_ex[2]','$input_ex[3]','$input_ex[4]')

问题:
我的输入有时可能不止一个,并用"#"字符分隔
最后一行输入可能也有"#"字符

$input  = "$POS,1234,5223,A,2719#
$POX,752,4342,N,SXD#
$POZ,122,6242,B,XFB#";

如何分离每一行并将其作为新行插入数据库
谢谢;)

编辑:输入是3种不同的模式,第一种是没有任何#符号的一行,第二种是最后一行有更多#结束的行,最后一行结束时第三行没有#符号

foreach (explode('#', $input) as $record) {
  $record = trim($record);
  if ($record == '')
    continue;
  $input_ex = explode(',', $record);
  $input_ex[0];
  $input_ex[1];
  $input_ex[2];
  $input_ex[3];
  $input_ex[4];
  // Same MySQL query as you already have
  mysql_query("...");
}

首先按"#"进行分解,对于每个结果按","进行分解并添加新行

只需首先在'#上爆炸,然后循环遍历在"上爆炸的结果数组,就像您正在做的那样,并为每行插入一个。

您需要使用explode()两次。首先检查多个记录,然后再次在分隔符,:上进行拆分

<?php  
$input  = "POS,1234,5223,A,2719# POX,752,4342,N,SXD# POZ,122,6242,B,XFB#";
foreach(explode('#', $input) as $records){
    $record = explode(',', $records);
    print_r($record);
}
?>