我在寫數據庫導入功能。我的語言是PHP。我的數據是JSON格式。mysql |數據庫表導入策略
我下面的代碼:
public function import($data = '') {
if (!isset($data)) {
return array(
'error' => "Error: no data"
);
}
$data_arr = json_decode($data, true);
if (is_array($data_arr) && sizeof($data_arr)) {
// Truncate DB table
$sql = 'TRUNCATE `ms_data`';
$this->db->query($sql)->execute();
// Import data
$sql = 'INSERT INTO `ms_data` (
`id`,
`name`,
`parent`,
`ordering`
) VALUES (
:id,
:name,
:parent,
:ordering
)';
foreach($data_arr as $d) {
$this->db->query($sql)
->bind(":id", $d['id'])
->bind(":name", trim($d['name']))
->bind(":ordering", $d['ordering'])
->execute();
}
return array(
'status' => 1,
'message' => 'Data has been imported'
);
} else {
return array(
'error' => "Input is not array"
);
}
}
這是工作的代碼,但:也許你知道任何代碼上面的問題,我不知道現在或任何改進的建議?
謝謝!
讓我們希望你永遠不必處理大量的數據 –
這個函數將用於我們的商店腳本(產品導入):) – user889349
我有一些問題後第一次審查:你可以發佈'顯示創建TABLE ms_data'的表結構的詳細信息,請?你用mysql驅動程序或mysqli類使用PDO嗎?父參數發生了什麼?它永遠不會結合。大概發佈$ this-> db實例的類也是有用的。 – citizen404