Condexatedenbay.com


Comment éviter les doublons avec PHP MySQL



Beaucoup d'applications PHP permettra aux utilisateurs d'entrer des données qui sont ensuite insérées dans une base de données MySQL. Il est important pour ces applications pour vérifier si un enregistrement existe déjà dans la base de données MySQL avant de l'ajouter. Un réactif pour ce faire consiste à définir un index unique sur le champ clé dans la base de données MySQL, ajouter l'enregistrement et vérifier pour voir si une erreur s'est produite. Toutefois, l'approche plus gracieuse et proactive est pour rechercher un enregistrement en double avant l'ajout de données à la base de données.

Instructions

• Lancer un éditeur et créer un nouveau fichier de script PHP. Par exemple, tapez : adddata.php nano

• Créer le formulaire HTML à accepter l'entrée d'utilisateur. Définissez la méthode « post » et l'action à « update.php » pour publier les résultats présentés dans un fichier « update.php » ensuite, vous allez créer. Par exemple, tapez : < ! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional / / EN" « http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd » >< html xmlns = « http://www.w3.org/1999/xhtml » >< tête >< meta http-equiv = « Content-Type » content = "text/html ; charset = utf-8 "/ >< title > données entrée/titre >< / chef >< corps >< forment la méthode ="post"action="update.php ">< entrée type ="hidden"name = valeur"terminé"="1"/ >< p > numéro de client : < input type ="texte"nom ="NumCli"taille ="10"/ >< / p >< p > Customer Name : < entrée type ="texte"nom ="custname"taille ="30"/ >< / p >< p >< entrée type ="submit"nom ="submit"value ="submit"/ >< / p >< / form >< body / >< / html >

• Quitter l'éditeur et enregistrez le fichier. Relancez l'éditeur et créer le fichier « update.php ». Par exemple, tapez : nano update.php

• Vérifier la forme de champ masqué pour s'assurer que le fichier « update.php » a été appelé depuis l'opération « post ». Par exemple, tapez : <? php $completed = $_POST ['fin'] ; Si ($completed! = « 1 ») die ("< p > formulaire non rempli! < /p >") ;

• Extrait le numéro de client et le nom du client des résultats affichés. Vérifiez que chaque valeur contient des données. Par exemple, tapez : $number = (isset($_POST['custno'])? $_POST ['custno']: "" ; $name = (isset ($_POST ['custname"]? $_POST ['custname"]: "" ; Si ($number == "" || $name == "") die ("< p > formulaire pas rempli correctement! < /p >") ;

• Se connecter au serveur MySQL et sélectionnez la base de données souhaitée. Par exemple, tapez : $dbc = mysql_connect (« localhost », « username », « password ») ou mourir ("< p > connexion impossible au serveur ! Erreur est ". mysql_error()) ; $dB = mysql_select_db("customers") ;

• Créer et exécuter une requête sur la base de données qui cherche le numéro de client, vous êtes censé pour ajouter. Assurez-vous que vous échapper correctement les chaînes d'entrée utilisateur avec « mysql_real_escape_string. » Vérifier la valeur de retour et sortir si le numéro de client existe déjà. Par exemple, tapez : $query = "SELECT custno FROM customers WHERE personnalisée ="'. mysql_real_escape_string($Number). '"'; $result = mysql_query($query) ; Si ($result & & mysql_num_rows > 0) die ("< p > client existe déjà! < /p >") ;

• Créer et exécuter une requête pour insérer le nouveau client dans la base de données. Assurez-vous que vous échapper correctement les chaînes d'entrée utilisateur avec « mysql_real_escape_string. » Par exemple, tapez : $query = "INSERT INTO customers (custno, custname) VALUES (" ". mysql_real_escape_string($Number). '", "' . mysql_real_escape_string($Name). '")'; $result = mysql_query($query) ; Si (! $result) die ("erreur < p > insertion d'enregistrement client! < /p >") ; echo "< p > client ajouté avec succès! < /p >";? >