php中explode 怎么输出不是数组
functionhandle_models($goods_id,$models_name_array){$sql="DELETEFROM".$GLOBALS['ecs']...
function handle_models($goods_id,$models_name_array)
{
$sql = "DELETE FROM " . $GLOBALS['ecs']->table('models') .
" WHERE price_type = '1' AND goods_id = '$goods_id'";
$GLOBALS['db']->query($sql);
$models_name_arr = $_POST['models_name_arr'];
$models_name_array = explode ("#",$models_name_arr);
foreach ($models_name_array AS $key => $models_name_arr)
{
if (!empty($models_name_arr))
{
$sql = "INSERT INTO " . $GLOBALS['ecs']->table('models') .
" (price_type, goods_id, models_name) " .
"VALUES ('1', '$goods_id', '".$models_name_arr."')";
$GLOBALS['db']->query($sql);
}
}
}
输出:array(1) { [0]=> string(7) "qqq#www" } array(2) { [0]=> string(3) "qqq" [1]=> string(3) "www" } 但是插入到数据库是只有这个“Array”
还是只能插入一个“#”前面的一个数字,要同时插入几个需要怎么修改 展开
{
$sql = "DELETE FROM " . $GLOBALS['ecs']->table('models') .
" WHERE price_type = '1' AND goods_id = '$goods_id'";
$GLOBALS['db']->query($sql);
$models_name_arr = $_POST['models_name_arr'];
$models_name_array = explode ("#",$models_name_arr);
foreach ($models_name_array AS $key => $models_name_arr)
{
if (!empty($models_name_arr))
{
$sql = "INSERT INTO " . $GLOBALS['ecs']->table('models') .
" (price_type, goods_id, models_name) " .
"VALUES ('1', '$goods_id', '".$models_name_arr."')";
$GLOBALS['db']->query($sql);
}
}
}
输出:array(1) { [0]=> string(7) "qqq#www" } array(2) { [0]=> string(3) "qqq" [1]=> string(3) "www" } 但是插入到数据库是只有这个“Array”
还是只能插入一个“#”前面的一个数字,要同时插入几个需要怎么修改 展开
1个回答
2015-02-02
展开全部
你检测下$models_name_arr 数组是否多维数组 或 者为空。如果是应该会返回false
检查下你的输出值或都$models_name_arr 就可以知道问题错在那。
检查下你的输出值或都$models_name_arr 就可以知道问题错在那。
追问
我测试添加数据123#233#455但是插入到数据库还是这个,我要的是123,233,455三组数据
追答
$models_name_array 这个返回的是一个数组,不能直接插入数据库的。
如果你是要用 , 连接,那你还需要用到implode来连接成字符串。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询