获取数组并插入到不同的数据库中。插入字符串中的增量变量?

时间:2013-11-05 14:55:22

标签: php mysql

我已经为此尝试了几种不同的实现方法,似乎无法使最后一点点正确。效率最高的显然是最好的情况,但此时它是第二个让它发挥作用。

我正在尝试从Syspro连接中提取数据并将其插入MySQL连接。我不需要使用此代码打印任何内容,只需插入MySQL数据库即可。

//MySQL Connection
$mysqlcon=mysqli_connect("localhost","root","","production");
// Check connection
if (mysqli_connect_errno()) {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }

//Syspro connection
$conn=odbc_connect('syspro','','');
if (!$conn)
  {exit("Connection Failed: " . odbc_error());}

//Warehouse valuation for S6/SX/SN/SW
$sql_warehouses=
    "SELECT SysproCompanyJ.dbo.InvWarehouse.Warehouse, SUM(UnitCost * QtyOnHand) AS 'Value'

    FROM SysproCompanyJ.dbo.InvWarehouse         

    WHERE   SysproCompanyJ.dbo.InvWarehouse.QtyOnHand > '0' 
        AND SysproCompanyJ.dbo.InvWarehouse.Warehouse NOT LIKE 'A_'
        AND SysproCompanyJ.dbo.InvWarehouse.Warehouse = 'S6' 
        OR Warehouse = 'SX'
        OR Warehouse = 'SN' 
        OR Warehouse = 'SW'

    GROUP BY Warehouse";

$test = array();
$i=0;   
$rs=odbc_exec($conn,$sql_warehouses);
if (!$rs)
  {exit("Error in SQL");}

    while ($row = odbc_fetch_array($rs))    {
        //echo $row['Warehouse'] . ':' .$row['Value']; 
        array_push($test,$row['Warehouse'],$row['Value']);
        //echo mysqli_query($mysqlcon,"INSERT INTO inv_valuation (warehouse, value)
        //VALUES ({$row['Warehouse']} ,{$row['Value']})");
        }

for($i = 0, $size = count($test); $i < $size; ++$i) {
    //echo "WH=" . $test[$i] . ", $=" . $test[++$i];
    mysqli_query($mysqlcon,"INSERT INTO inv_valuation (warehouse, value)
    VALUES ($test[$i] ,$test[++$i])");
    }

    //print_r($test);
    //var_dump($test);
    //echo count($test);

1 个答案:

答案 0 :(得分:1)

好吧,我会这样做:

while ($row = odbc_fetch_array($rs))    {
    mysqli_query($mysqlcon,"INSERT INTO inv_valuation (warehouse, value)
        VALUES ('" . $row['Warehouse'] . "', '" . $row['Value'] . "')");
}

无需再次循环(正如您之前尝试的那样:))

相关问题