SQLSTATE[HY000] : Erreur générale : 1366 Valeur entière incorrecte : '' pour la colonne 'cust_b_country'

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 : SQLSTATE[HY000] : Erreur générale : 1366 Valeur entière incorrecte : '' pour la colonne 'cust_b_country'

Re: SQLSTATE[HY000] : Erreur générale : 1366 Valeur entière incorrecte : '' pour la colonne 'cust_b_country'

par @rthur » 03 déc. 2022, 13:31

Quelle valeur essayes-tu d'enregistrer dans cust_b_country ?
Fais un var_dump() ce la variable que tu as utilisé.

Re: SQLSTATE[HY000] : Erreur générale : 1366 Valeur entière incorrecte : '' pour la colonne 'cust_b_country'

par laurel » 01 déc. 2022, 22:38

a quel niveau du script je peut modifier

Re: SQLSTATE[HY000] : Erreur générale : 1366 Valeur entière incorrecte : '' pour la colonne 'cust_b_country'

par or 1 » 01 déc. 2022, 18:32

"Valeur entière incorrecte"
le champ est de type entier, la valeur passée n'est pas un entier d'où le problème. il faut donc mettre une autre valeur par défaut, ou ne pas mettre ce champ dans la requête.

SQLSTATE[HY000] : Erreur générale : 1366 Valeur entière incorrecte : '' pour la colonne 'cust_b_country'

par laurel » 01 déc. 2022, 16:34

Bonjour je suis entrain d'apprendre à faire un site en php, mais je reçois deux erreurs plutôt embarrassante car je n'arrive pas à les résoudre :
fatale : PDOException non capturée : SQLSTATE[HY000] : Erreur générale : 1366 Valeur entière incorrecte : '' pour la colonne 'cust_b_country' à la ligne 151 dans C:\Users\hp\Desktop\Nouveau dossier (2)\projet site \eCommerceSite-PHP\registration.php à la ligne
( ! ) PDOException : SQLSTATE[HY000] : Erreur générale : 1366 Valeur entière incorrecte : '' pour la colonne 'cust_b_country' à la ligne 1 dans C:\Users\hp\Desktop\Nouveau dossier (2)\projet site\eCommerceSite-PHP \registration.php à la ligne 151
J'ai fais des recherches mais impossible de trouver une solution qui convenait à mon problème, merci d'avance pour votre aide et voici mon code et ma table :
voici mon code
]<?php
$statement = $pdo->prepare("SELECT * FROM tbl_settings WHERE id=1");
$statement->execute();
$result = $statement->fetchAll(PDO::FETCH_ASSOC);
foreach ($result as $row) {
$banner_registration = $row['banner_registration'];
}
?>

<?php
if (isset($_POST['form1'])) {

$valid = 1;

if(empty($_POST['cust_name'])) {
$valid = 0;
$error_message .= LANG_VALUE_123."<br>";
}

if(empty($_POST['cust_email'])) {
$valid = 0;
$error_message .= LANG_VALUE_131."<br>";
} else {
if (filter_var($_POST['cust_email'], FILTER_VALIDATE_EMAIL) === false) {
$valid = 0;
$error_message .= LANG_VALUE_134."<br>";
} else {
$statement = $pdo->prepare("SELECT * FROM tbl_customer WHERE cust_email=?");
$statement->execute(array($_POST['cust_email']));
$total = $statement->rowCount();
if($total) {
$valid = 0;
$error_message .= LANG_VALUE_147."<br>";
}
}
}

if(empty($_POST['cust_phone'])) {
$valid = 0;
$error_message .= LANG_VALUE_124."<br>";
}

if(empty($_POST['cust_address'])) {
$valid = 0;
$error_message .= LANG_VALUE_125."<br>";
}

if(empty($_POST['cust_country'])) {
$valid = 0;
$error_message .= LANG_VALUE_126."<br>";
}

if(empty($_POST['cust_city'])) {
$valid = 0;
$error_message .= LANG_VALUE_127."<br>";
}

if(empty($_POST['cust_state'])) {
$valid = 0;
$error_message .= LANG_VALUE_128."<br>";
}

if(empty($_POST['cust_zip'])) {
$valid = 0;
$error_message .= LANG_VALUE_129."<br>";
}

if( empty($_POST['cust_password']) || empty($_POST['cust_re_password']) ) {
$valid = 0;
$error_message .= LANG_VALUE_138."<br>";
}

if( !empty($_POST['cust_password']) && !empty($_POST['cust_re_password']) ) {
if($_POST['cust_password'] != $_POST['cust_re_password']) {
$valid = 0;
$error_message .= LANG_VALUE_139."<br>";
}
}

if($valid == 1) {

$token = md5(time());
$cust_datetime = date('Y-m-d h:i:s');
$cust_timestamp = time();

// saving into the database
$statement = $pdo->prepare("INSERT INTO tbl_customer (
cust_name,
cust_cname,
cust_email,
cust_phone,
cust_country,
cust_address,
cust_city,
cust_state,
cust_zip,
cust_b_name,
cust_b_cname,
cust_b_phone,
cust_b_country,
cust_b_address,
cust_b_city,
cust_b_state,
cust_b_zip,
cust_s_name,
cust_s_cname,
cust_s_phone,
cust_s_country,
cust_s_address,
cust_s_city,
cust_s_state,
cust_s_zip,
cust_password,
cust_token,
cust_datetime,
cust_timestamp,
cust_status
) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
$statement->execute(array(
strip_tags($_POST['cust_name']),
strip_tags($_POST['cust_cname']),
strip_tags($_POST['cust_email']),
strip_tags($_POST['cust_phone']),
strip_tags($_POST['cust_country']),
strip_tags($_POST['cust_address']),
strip_tags($_POST['cust_city']),
strip_tags($_POST['cust_state']),
strip_tags($_POST['cust_zip']),
'',
'',
'',
'',
'',
'',
'',
'',
'',
'',
'',
'',
'',
'',
'',
'',
md5($_POST['cust_password']),
$token,
$cust_datetime,
$cust_timestamp,
0
));