這個問題在這里已經有了答案: 從 Sql server 中選擇表并將資料插入 Mysql 表 4 個答案 14 小時前關閉。
所以,我想從 MSSQL 中獲取資料并在 MySQL 中插入/更新。
我有這個腳本:
//QUERY
$sql = "SELECT id, ordernr FROM orders";
//EXECUTE
$stmt = sqlsrv_query( $conn, $sql );
//ERROR?
if( $stmt === false) {
die( print_r( sqlsrv_errors(), true) );
}
while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) {}
我應該創建一個陣列并在 MySQL 中插入整個陣列,這可能嗎?
或者我應該迭代獲取的陣列并將其逐行插入到 MySQL 中?
我有這個想法:
while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) {
$query = "INSERT INTO table
SET ordernr = $row['ordernr']
ON DUPLICATE KEY UPDATE
ordernr = $row['ordernr']";
EXECUTE $qurey... bla bla
});
最好的方法是什么?
uj5u.com熱心網友回復:
使用您在回圈外準備一次的準備好的陳述句。
$stmt = $conn->prepare("
INSERT INTO TABLE (id, ordernr)
VALUES (?, ?)
ON DUPLICATE KEY UPDATE ordernr = VALUES(ordernr)");
$stmt->bind_param($id, $ordernr);
while ($row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) {
$id = $row['id'];
$ordernr = $row['ordernr'];
$stmt->execute();
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/504027.html
上一篇:Laravel背包大寫
