1
我處理從表中檢索到的數據作爲
<?php
$result=$mysqli->query("SELECT value1, value2 FROM table1");
while($row=$result->fetch_assoc())
{
$value1 = $row['valu1'];
$value2 = $row['value2'];
$mysqli->query("INSERT IGNORE INTO table2 (value1) VALUES ('$value1')");
$result2 = $mysqli->query("SELECT id FROM table2 WHERE value1='$value1'");
$row2 = $result2->fetch_assoc();
$column1_id = $row2['id'];
$result2->close();
$mysqli->query("INSERT IGNORE INTO table3 (value2) VALUES ('$value2')");
$result3 = $mysqli->query("SELECT id FROM table3 WHERE value1='$value2'");
$row3 = $result3->fetch_assoc();
$column2_id = $row3['id'];
$result3->close();
$mysqli->query("INSERT INTO table4 (value1,value2) VALUES ('$value1','$value2')");
}
?>
卜問題是,子$result
將弄亂與父之一,while循環將只在第一循環中工作。
感謝您的建議,但這是一個簡化的版本來討論我的問題;實際的代碼更復雜,大量的php處理來自table1的值。 – Googlebot 2012-03-24 05:54:03
是的,理解這一點......那麼你可以運行你想要的任何邏輯來處理數據,並將其輸出到文件中,在進程結束時執行mysql導入?你需要明確地描述你的編碼環境,我是局外人不知道你心裏在想什麼。無論如何,循環和插入一個接一個是更糟的解決方案。 – ajreal 2012-03-24 05:57:43
此案並不奇怪;我有一個笨拙的數據表,我想通過在幾個表中託管數據來創建一個規範化的數據庫。在這個過程中,我想通過PHP來處理文本(如格式化)。 – Googlebot 2012-03-24 06:02:33