Les informations ne se saisit pas automatiquement sur ma bdd?

imane -  
jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour, j'ai réussi à intégrer MySQli dans mes codes PHP5, je ne reçoic plus le messages d'erreur pour MySQL obsolète. cependant, bien qu'il n'y a aucune erreur, mes données insérées via mon application ne s'insèrent pas dans ma base de données.
je vous mets ici le bout de mon code php:
merci

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="style.css" media="screen" type="text/css" />
</head>
<body>

<?php

if(isset($_POST['submit']))
{
// connexion à la base de données
define('DB_SERVER', 'localhost');
define('DB_USERNAME', 'root');
define('DB_PASSWORD', '');
define('DB_NAME', 'authentifier');

$db = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME)
or die('could not connect to database'); 

mysqli_set_charset($db,"utf8");

$nom_fou = mysqli_real_escape_string($db,$_POST['nom_fou']);
$num_fou = mysqli_real_escape_string($db,$_POST['num_fou']);
$adresse= mysqli_real_escape_string($db,$_POST['adresse']);
$email_fou = mysqli_real_escape_string($db,$_POST['email_fou']);

if($nom_fou!== "" && $num_fou!== "" && $adresse!== "" && $email_fou!== "")
{
 $requete ="INSERT INTO `fournisseur`(`nom_fou`,`num_fou`,`adresse`,`email_fou`)VALUES ('$nom_fou',$num_fou,'$adresse','$email_fou')";
    $exec_requete = mysqli_query($db,$requete);
}else echo"Veuillez saisir tous les champs";
}
?>

<h1>ajouter fournisseur</h1>
<form method="POST" action="fournisseur.php">
<p>nom fournisseur (prenom NOM):</p>
<input type="text" name="nom_fou">
<p>numero fournisseur:</p>
<input type="number" name="num_fou">
<p>adress fournisseur:</p>
<input type="text" name="adresse">
<p>email fournisseur:</p>
<input type="text" name="email_fou">
<input type="submit" value="envoyer" name="submit">
</form>
</body>
</html>


Configuration: Windows / Chrome 83.0.4103.106

2 réponses

  1. jee pee Messages postés 31952 Date d'inscription   Statut Modérateur Dernière intervention   10 004
     
    Bonjour,

    " il n'y a aucune erreur" euhhhhhhh où est-ce que tu gères les codes erreurs ?

    voir : https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs

    Sur
    $requete ="INSERT INTO fournisseur`(`nom_fou`,`num_fou`,`adresse`,`email_fou`)VALUES ('$nom_fou',$num_fou,'$adresse','$email_fou')"; 


    moi, à tout hasard, je rajouterais des blancs
    $requete ="INSERT INTO `fournisseur` (`nom_fou`,`num_fou`,`adresse`,`email_fou`) VALUES ('$nom_fou',$num_fou,'$adresse','$email_fou')"; 


    ET pour le code sur le forum, penser aux balises d'édition

    0
  2. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 833
     
    Bonjour,

    Comme le dit jee pee, il faut, en effet, ajouter une gestion d'erreur.
    ( jee pee, le lien correspond à la gestion des erreurs en PDO, là, il est en mysqli )

    Donc pour mysqli :
     $requete ="INSERT INTO `fournisseur` (`nom_fou`,`num_fou`,`adresse`,`email_fou`)
                          VALUES ('$nom_fou' , '$num_fou' , '$adresse' , '$email_fou' )";
        $exec_requete = mysqli_query($db,$requete);
    if (!$exec_requete ) {
         echo "Error : " . mysqli_error($db);
    }
    
    


    Et vu que tu as placé le code de traitement php dans le même fichier que ton formulaire, évite d'indiquer le "chemin" dans l'attribut action de ton form
    <form method="POST" action="">
    


    Je t'invite également à consulter ces quelques conseils : https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
    .

    0