[英]Fetch array and Insert Into different database. Increment variable in Insert string?
为此,我尝试了几种不同的实现方法,但似乎最后一点都没有正确。 最有效的显然是最好的方案,但是在这一点上它是使它起作用的第二步。
我正在尝试从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);
好吧,我会这样:
while ($row = odbc_fetch_array($rs)) {
mysqli_query($mysqlcon,"INSERT INTO inv_valuation (warehouse, value)
VALUES ('" . $row['Warehouse'] . "', '" . $row['Value'] . "')");
}
无需再次循环(如您先前尝试过的:))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.