problème d'insertion mysqli php

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : problème d'insertion mysqli php

Re: problème d'insertion mysqli php

par @rthur » 29 janv. 2021, 09:28

Bonjour,

Que comprends-tu du message d'erreur que tu indiques ?
Column 'page_name' cannot be null
As-tu vérifié, avec un var_dump() par exemple la valeur de page_name avant de le mettre dans ta requête ?

problème d'insertion mysqli php

par Mysve » 29 janv. 2021, 00:00

Bonjour,
J'ai fait un script pour ajouter des résultats d'un formulaire à une bdd mais voici l'erreur
Uncaught mysqli_sql_exception: Column 'page_name' cannot be null i
Je ne la comprends pas
Voici mon code
[PHP][code]<?php 
session_start();
define('DB_SERVER', '');
define('DB_USERNAME', '');
define('DB_PASSWORD', '');
define('DB_NAME', '');
mysqli_report(MYSQLI_REPORT_ALL);
include('../config.php');
$db= mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME); //connections 
if (!$db)
{
die ('Could not connect:');
}



if (!$db) {
  die("Connection failed: ");
}
if (isset ($_POST['valider'])){  //variables qui viennent du formulaire
$date = date("y-m-d");
$page_name=$_POST['page_name'];
$page_url=$_POST['page_url'];

var_dump($_POST);
$company_token = $reponse = $db->query("SELECT token FROM pro_users WHERE id =". $_SESSION['id'] ."");  //ici je cherche à retrouver l'identifiant de l'entreprise
if ($donnees = $reponse->fetch_assoc())
echo $donnees['token'];
var_dump($company_token); 
$stmt = $db->prepare("INSERT INTO web_pages (page_name, page_url, today, company_token) VALUES (?, ?, ?, ?)");
$stmt->bind_param("ssss", $_POST['page_name'], $_POST['page_url'], $_POST['today'], $_POST['company_token']); //j'insère dans ma base de donnée
$stmt->execute();
$stmt->close();
}[/code]
[/PHP]

Voila mon formulaire,

<html>
<head><?php include('head.inc.php'); ?><title>Ajoutez une page </title></head>
<body>
<?php include('nav.inc.php'); ?>
<h1>Ajoutez une page </h1>
<h2>Entrez les données demandées :</h2>
<form name="addurl" method="post" action="addurlscript.php">
Entrez le nom de la page : <input type="text" name="page_name"/> <br/>
Entrez l'url de la page <input type="text" name="page_url"/> <br/>

<input type="submit" name="valider" value="OK"/>
</form>
</body>
</html>
Merci par avance