Comment résoudre le problème de l'impossibilité de mettre à jour la "Colonne de date" : Comment télécharger correctement un fichier CSV lors de la mise à jour d'une table de base de données MySQL
P粉529581199
P粉529581199 2023-08-28 13:46:51
0
1
471

Le principal problème dans mon code est que je ne peux pas mettre à jour la "date" du fichier csv dans la table de la base de données mysql à l'aide de php. La ligne de code $date = mysqli_real_escape_string($connect, $data[1]); est le principal problème ici. Je recherche une requête alternative pour cette ligne de code particulière.

Voici le fichier csv : https://drive.google.com/file/d/1EdMKo-XH7VOXS5HqUh8-m0uWfomcYL5T/view?usp=sharing

Voici le code complet :

Veuillez sélectionner uniquement les fichiers CSV'; } } autre { $message =''; } } if(isset($_GET["mise à jour"])){ $message =''; } $query = "SELECT * FROM ma_table"; $result = mysqli_query($connect, $query); ?>    Mettez à jour la base de données Mysql en téléchargeant un fichier CSV à l'aide de PHP    ≪/tête>  

Mettez à jour la base de données Mysql en téléchargeant un fichier CSV à l'aide de PHP




Naissances


≪/tr> ≪/tr> '; } ?>

P粉529581199
P粉529581199

répondre à tous (1)
P粉817354783

Tout d’abord, vous devez lire et supprimer la ligne d’en-tête dans le CSV. Ensuite, à l’aide de requêtes appropriées, préparées et paramétrées, vous pouvez mettre à jour correctement la base de données. Étant donné que les dates du fichier .csv sont au format correct, aucune action n'est requise, mais cela peut ne pas être le cas avec d'autres fichiers CSV, où les dates doivent souvent être reformatées avant de pouvoir être stockées correctement dans le tableau.

prepare($query); // 循环遍历csv剩余的行 while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { $stmt->bind_param('sss', $data[0],$data[1],$data[2]); $stmt->execute(); } fclose($handle); header("location: index.php?updation=1"); exit; // 重定向后一定要使用exit } else { $message = ''; } } else { $message = ''; } }

Remarque : je suppose que les 3 colonnes sont de type texte.

$stmt->bind_param('sss', $data[0],$data[1],$data[2]); ^^^

Ifdate_id是整数类型,您可以将其更改为'ssi',尽管3个sfonctionne généralement bien aussi.

Référence :

fgetcsv
mysqli_prepare
mysqli_bind_param

    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal
    À propos de nous Clause de non-responsabilité Sitemap
    Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!
    Date Naissance '.$row ["date"].' '.$row ["naissances"].'