Les informations ne se saisit pas automatiquement sur ma bdd?

Fermé
imane - Modifié le 20 juin 2020 à 14:19
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 - 20 juin 2020 à 14:34
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

jee pee Messages postés 39583 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 18 avril 2024 9 225
Modifié le 20 juin 2020 à 14:30
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
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
20 juin 2020 à 14:34
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