PHP - 循环遍历数组并将值插入SQL

时间:2012-07-12 15:43:55

标签: php sql arrays

我有一个excel文件,我在AIR中剥离并转换为$ delimited字符串。我将该字符串发送到PHP($pushFinal),然后使用$array = explode("$",$pushFinal);将字符串转换为数组。现在我想遍历数组,将值插入SQL,模仿excel格式。 excel中的每个“行”都是49列,或“值”,因此我需要在$array中为SQL中的每一行插入49个值。

这样做的最佳方式是什么?

我是新手,所以请怜悯我:)

所以,我试过这个:

$pushFinal = $_POST["pushFinal"];
$lines = array();
$lines = explode("|",$pushFinal); 
$lineItems = array();


foreach ($lines as $val){
    $lineItems = explode("$",$val);
    $temp = "";
    foreach($lineItems as $val2){
        $temp = $temp."'".$val2."',";   
    }
    $sql="insert into OPS_SCHEDULE values($temp)";
    $stmt = sqlsrv_query($conn,$sql);
}

INSERT失败了。这看起来不错吗?我用excel分隔了excel的每一行然后用$分隔该行中的每个值。这在$ pushFinal中正确显示。

3 个答案:

答案 0 :(得分:1)

foreach($array as $val){
    $sqlVals[]="'".$val."'";
}
$sqlValsStr = implode(",",$sqlVals);
$sql = "insert into table values(".$sqlValsStr.")";

答案 1 :(得分:0)

只需阅读互联网上任何基本的PHP / MySQL介绍页面,您就可以立即完成代码。假设您已经安装了数据库:)

答案 2 :(得分:0)

好的,我明白了。

$pushFinal = $_POST["pushFinal"];
$lines = array();
$lines = explode("|",$pushFinal); 
$lineItems = array();

foreach ($lines as $val){
    $lineItems = explode("$",$val);
    $temp = "";
    foreach($lineItems as $val2){
        $temp = $temp."'".$val2."',";   
    }
    $temp = substr($temp, 0, -1);
    $sql ="insert into table values($temp)";
    $stmt = sqlsrv_query($conn,$sql);
}

我必须从每个$temp行中删除尾随的“,”。感谢“lc”帮助我将行与值分开分隔。这就像一个魅力。