Lors du développement d'applications PHP , vous devrez peut-être déplacer les données d'une table MySQL à l'autre, comme lorsque vous voulez installer une mise à jour qui nécessite des champs de données supplémentaires. Pour ce faire, vous pouvez utiliser les méthodes intégrées dans l'extension MySQLi PHP de données de requête à partir de la table source et l'insérer dans la table de destination . Créer une déclaration préparée à insérer les données dans la table de destination , lier les résultats de la requête qui extrait des données forment la table source à la requête préparée et exécuter l'instruction préparée pour chaque enregistrement de la table source . Instructions
1
utiliser un éditeur HTML ou le Bloc-notes pour créer un nouveau fichier de programme PHP. Commencez le programme en ouvrant une connexion au serveur de base de données et en sélectionnant la base de données qui contient les tables pour lesquelles vous souhaitez déplacer les données . Vérifier l'état d'erreur après la connexion pour s'assurer qu'il a réussi. Type:
< php
$ db = new mysqli ( 'localhost ', ' nom d'utilisateur ', ' mot de passe ', ' base de données' ) ;
if (mysqli_connect_errno ? () ) die ( mysqli_connect_error ()) ;
2
initialiser un tableau pour contenir les données de la table source que vous souhaitez déplacer vers la table de destination . Créer une chaîne de requête que vous allez utiliser pour extraire les données de la table source . Type:
$ row = array ();
$ table1 = "SELECT id, nom, email, téléphone FROM users ORDER ON id" ;
3
Créer une nouvelle requête préparée avec la commande MySQL pour insérer des données dans la table de destination. Utilisez des points d'interrogation pour indiquer les valeurs qui seront insérées et lier les membres du tableau que vous avez créé en utilisant la méthode du « bind_param " . Type:
$ stmt = $ db -> prepare ( "INSERT INTO newusers (id , nom, email, téléphone ) VALUES ( ,,,) ? ? " ;
$ stmt-> bind_param (' ISSS ', $ row [' id'] , $ row [' nom' ], $ row [' email'] , $ row [ 'phone' ] ) ;
4 .
émission de la requête pour sélectionner les données de la table source stocker les résultats dans le tableau associatif vous avez déclaré plus tôt et de créer une boucle qui récupère chaque enregistrement jusqu'à la fin de la table . Type:
$ result = $ db- > query ( tableau 1 $ ) ;
while ($ row = $ result-> fetch_assoc ()) {
5
exécuter l'instruction préparée pour insérer les données . . . partir de la table source dans la table de destination Assurez-vous que la pièce a été un succès en évaluant le " affected_rows " propriété de l'instruction préparée Fermer la déclaration préparée avant de commencer un nouveau type:
$ stmt-> execute () ;
if ($ stmt-> affected_rows = 1!) {
echo " Pas de données insérées par l'utilisateur avec id = $ row [' id' ]"; < br >
}
$ stmt-> close (); }
6
Fermer la base de données lorsque la procédure est terminée Enregistrer le programme PHP. . Lancez-le pour s'assurer qu'il se déplace correctement les données d'un tableau à l'autre . Type:
$ db-> close ();
>