Bonjour,
Lorsque je saisi dans un formulaire une mesure avec un chiffre autre que 0.5, 1, 1.5 etc etc , j'ai cette erreur :
Exception PDO: SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'stock_reel' cannot be null
mon code:
Par contre pour les valeurs entière ou en 1/2 genre 0.5, 1, 1.5 ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 <?php //Rien de reçu => on bosse pas if (!empty($_POST)) { //Je mets tout dans un T/C try { //TOUJOURS ACTIVER LES EXCEPTIONS $bdd = new PDO('mysql:host=localhost;dbname=crealis;charset=utf8', 'root', '',array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION)); $toutes_donnees = $bdd->query('SELECT * FROM stock_antigel')->fetchAll(); $requeteUpdate = "UPDATE stock_antigel SET mesure_observee = :mesure_observee,stock_reel = :stock_reel WHERE id = :id"; $stmt = $bdd->prepare($requeteUpdate); $stmt->bindParam(':mesure_observee', $mesure, PDO::PARAM_STR); $stmt->bindParam(':stock_reel', $stock_reel, PDO::PARAM_INT); $stmt->bindParam(':id', $id, PDO::PARAM_INT); foreach($toutes_donnees as $donnees){ $id = $donnees['id']; $mesure = $_POST["mesure_observee$id"]; $hauteur =$_POST["mesure_observee"]; if($donnees['facteur_conversion_mesureareel'] != 0){ $stock_reel = $mesure * $donnees['facteur_conversion_mesureareel'];} else{ $toutes_tables = $bdd->prepare('SELECT volume FROM table_stockage WHERE hauteur = :hauteur'); $toutes_tables->bindParam(':hauteur',$donnees['mesure_observee'], PDO::PARAM_STR); $toutes_tables->execute(); foreach($toutes_tables as $table){ $stock_reel = $table['volume']; }} if (!$stmt->execute()) { throw new Exception('ERREUR UPDATE (ID '.$_POST['id'].')'); } } //fin foreach header('Location: index.php'); }catch (PDOException $pdoE) { echo 'Exception PDO: '.$pdoE->getMessage(); } catch (Exception $e) { echo 'Exception Autre: '.$e->getMessage(); } }
$stock_reel me retourne bien le bon résultat
Partager