Php 如何在mysql中的不同列中插入不同的逗号分隔值

Php 如何在mysql中的不同列中插入不同的逗号分隔值,php,mysql,comma,Php,Mysql,Comma,我从数据库中从不同的列获取两个逗号分隔的值(supplierrouteallocation:10001200和routesymbol:10xx,12xx),我想将此值插入另一个表中的不同列中,例如 route symbol 1000 10xx 1100 11xx 但是我试过了,它不起作用。有人能帮我吗。谢谢 我的代码 $routes = explode(",",$supplierrouteallocation); $symbol = explode(",",$rout

我从数据库中从不同的列获取两个逗号分隔的值
(supplierrouteallocation:10001200和routesymbol:10xx,12xx)
,我想将此值插入另一个表中的不同列中,例如

route    symbol

1000     10xx

1100     11xx
但是我试过了,它不起作用。有人能帮我吗。谢谢

我的代码

$routes = explode(",",$supplierrouteallocation);
$symbol = explode(",",$routesymbol);

$count=count($routes,$symbol);
for($i=0;$i<$count;$i++)
{

$sql_insertroute="INSERT INTO `fms`.`routestable` (
    `id` ,  

`route` 
`routesymbol`       
)
VALUES (NULL ,'$routes[$i]','$symbol[$i]')
";

mysql_query($sql_insertroute);

}
$routes=explode(“,”,$supplierrouteallocation);
$symbol=分解(“,”,$routesymbol);
$count=计数($routes,$symbol);
对于($i=0;$i试试这个

$sql_insertroute="INSERT INTO `fms`.`routestable` (`id`,`route`,`routesymbol`) VALUES (NULL,'".$routes[$i]."','".$symbol[$i]."')";

你有各种各样的错误:

  • count()
    只接受单个数组
  • 您的请求中缺少昏迷:
    ('id','route'[,]'routesymbol')
这里有一段代码应该适合您:

// get data
$routes = explode(",",$supplierrouteallocation);
$symbols = explode(",",$routesymbol);

// prepare the request
$sql_insertroute = "INSERT INTO `fms`.`routestable` (`id`, `route`, `routesymbol`) VALUES ";

// create an insert line per data couple
$vals = array();
$n = max(count($routes), count($symbols));
for($i=0;$i<$n;$i++) {
    $route = isset($routes[$i]) ? "'".$routes[$i]."'" : "NULL";
    $symbol = isset($symbols[$i]) ? "'".$symbols[$i]."'" : "NULL";
    array_push($vals, "(NULL, $route, $symbol)");
}

// join those lines with comas, and add'em to the request
$sql_insertroute .= implode(', ', $vals);
//获取数据
$routes=分解(“,”,$supplierrouteallocation);
$symbols=分解(“,”,$routesymbol);
//准备请求
$sql_insertroute=“插入'fms`.'routestable`('id`、'route`、'routesymbol`)值”;
//为每个数据对创建一个插入行
$vals=array();
$n=最大值(计数($routes),计数($symbols));

对于($i=0;$i,在新代码中,它们是。而不是,请查看,并在
route
后使用or。缺少逗号。但您应该知道,可能有一条错误消息这样说,您忘记与我们共享。感谢您的回复我尝试了您的代码片段,它在数组\u push($vals),(NULL,$route,$symbol)附近显示语法错误;抱歉,我漏掉了一个右括号:
array\u push($vals),(NULL,$route,$symbol);
您正在运行查询吗?(如果您注意,我没有在代码中放入初始的
mysql\u查询($sql\u insertroute);