我需要將具有我的用戶數據的JSON文件遷移到使用PHP的MySQL表中,我已經做了一個連接,使用DB創建了一個表,然後將JSON解碼爲一個數組。我不能做的是將數組數據插入到MySQL用戶表中。如何使用PHP在MySQL表中插入數組?
我的JSON是這樣的:
{
"nombre":"asudhau",
"apellido":"uhsaudhau",
"pass":"$2y$10$KAg3wt7bBjphgdCNJf4VXe.an8lOnlOvWVdVsh2Qsws0dbhWiDwkO",
"mail":"[email protected]",
"sexo":"F",
"id":34,
"nacimiento":"2016-10-06"
}
{
"nombre":"abudasd",
"apellido":"hasdua",
"pass":"$2y$10$c781KdL3ERgDCnP6MR28xuf\/dnKjuVajklc0uSj2FnBrZSB1H88Si",
"mail":"[email protected]",
"sexo":"F",
"id":35,
"nacimiento":"1990-02-03"
}
{
"nombre":"audihaiudh",
"apellido":"uiahsdiuahdi",
"pass":"$2y$10$Q7VjafKxt\/kuJS1BrslF0uSZPwHe7Hvp6olMxetgY31KcmMT9dIo2",
"mail":"[email protected]",
"sexo":"F",
"id":36,
"nacimiento":"1999-02-03"
}
我得到了每個用戶的這樣的價值觀:
$conn = new PDO('mysql:host=localhost;dbname=dh_usuarios;charset=UTF8mb4', 'root', '');
$jsondata = file_get_contents('../usuarios.json');
$usuariosArray = explode(PHP_EOL, $jsondata);
foreach ($usuariosArray as $usuario) {
$jsondata = json_decode($usuario.PHP_EOL, true);
$jsonarray[] = array($jsondata);
}
foreach ($jsonarray as $row) {
$nombre = $row[0]['nombre'];
$apellido = $row[0]['apellido'];
$pass = $row[0]['pass'];
$mail = $row[0]['mail'];
$sexo = $row[0]['sexo'];
$id = $row[0]['id'];
$nacimiento = $row[0]['nacimiento'];
}
現在我想這個用戶數據插入到我已經創建了一個表在MySQL中,我不知道該怎麼做。
我試過了,但它只是不插入數據。
$stmt = $conn->prepare('
INSERT INTO dh_usuarios(nombre, apellido, pass, mail, sexo, id, nacimiento)
VALUES(:nombre, :apellido, :pass, :mail, :sexo, :id, :nacimiento);
');
$stmt->execute([
':nombre' => $nombre,
':apellido' => $apellido,
':pass' => $pass,
':mail' => $mail,
':sexo' => $sexo,
':id' => $id,
':nacimiento' => $nacimiento,
]
);
幫幫我該怎麼辦? (抱歉我的英語不好,我來自阿根廷)
您是否檢查數據庫中的錯誤? – Machavity
我似乎不是從數據庫中的錯誤,我想我犯了一個錯誤的地方,但我無法弄清楚...... –
嘗試'var_dump($ jsondata)'檢查你是否有什麼。 –