• Home
  • Forum
  • Fare Web
  • PHP

Inserimento query Errore 1366

  • Creatore Discussione Creatore Discussione Kiko74b
  • Data di inizio Data di inizio 6 Mag 2023
K

Kiko74b

Nuovo Utente
26 Giu 2022
19
2
3
  • 6 Mag 2023
  • #1
Salve eccomi nuovamente a rompere con le mie banalissime domande
ho questa query :
PHP:
if(isset($_POST['add']))
{
$diabeticoid=$_POST['iddiabetico'];
$strisce=$_POST['strisce'];
$lancette=$_POST['lancette'];
$aghi=$_POST['aghi'];
$statoerogazione=1;
$sql="INSERT INTO tblerogazioni(Iddiabetico,ProductId1,ProductId2,ProductId3) 
      VALUES(:iddiabetico,:strisce,:lancette,:aghi);
      UPDATE tbldiabetici set StatoErogazione=:statoerogazione where id=:iddiabetico;";
$query = $dbh->prepare($sql);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
$query->bindParam(':iddiabetico',$diabeticoid,PDO::PARAM_STR);
$query->bindParam(':strisce',$strisce,PDO::PARAM_STR);
$query->bindParam(':lancette',$lancette,PDO::PARAM_STR);
$query->bindParam(':aghi',$aghi,PDO::PARAM_STR);
$query->bindParam(':statoerogazione',$statoerogazione,PDO::PARAM_STR);
$query->execute();

E questo form di inserimento:
PHP:
<form role="form" method="post">

<div class="col-md-6">  
<div class="form-group">
    
<label> Seleziona Diabetico<span style="color:red;">*</span></label>
<select class="form-control" name="iddiabetico" required="required">
<option value=""> Seleziona Diabetico</option>
<?php
$sql = "SELECT * from  tbldiabetici where statoerogazione!=1 AND PianoTerapeutico > NOW() ORDER BY CognomeNome ASC";
$query = $dbh -> prepare($sql);
$query -> bindParam(':status',$status, PDO::PARAM_STR);
$query->execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
$cnt=1;
if($query->rowCount() > 0)
{
foreach($results as $result)
{               ?>  
<option value="<?php echo htmlentities($result->id);?>"><?php echo htmlentities($result->CognomeNome);?></option>
 <?php }} ?> 
</select>
</div></div>

<div class="col-md-6">  
<div class="form-group">
<label> Seleziona Strisce<span style="color:red;">*</span></label>
<select class="form-control" name="strisce">
<option value=""> Seleziona Striscia</option>
<?php
$sql = "SELECT * from  tblbooks where CatId='7'";
$query = $dbh -> prepare($sql);
$query -> bindParam(':status',$status, PDO::PARAM_STR);
$query->execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
$cnt=1;
if($query->rowCount() > 0)
{
foreach($results as $result)
{               ?>  
<option value="<?php echo htmlentities($result->id);?>"><?php echo htmlentities($result->BookName);?></option>
 <?php }} ?> 
</select>
</div></div>

<div class="form-group">
<span id="get_student_name" style="font-size:16px;"></span> 
</div>

<div class="col-md-6">  
<div class="form-group">
    
<label> Seleziona Lancette<span style="color:red;">*</span></label>
<select class="form-control" name="lancette">
<option value=""> Seleziona Lancette</option>
<?php
$sql = "SELECT * from  tblbooks where CatId='8'";
$query = $dbh -> prepare($sql);
$query -> bindParam(':status',$status, PDO::PARAM_STR);
$query->execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
$cnt=1;
if($query->rowCount() > 0)
{
foreach($results as $result)
{               ?>  
<option value="<?php  echo htmlentities($result->id);?>"><?php echo htmlentities($result->BookName);?></option>
 <?php }} ?> 
</select>
</div></div>

<div class="col-md-6">  
<div class="form-group">
<label> Seleziona Aghi<span style="color:red;">*</span></label>
<select class="form-control" name="aghi">
<option value=""> Seleziona Aghi</option>
<?php 
$sql = "SELECT * from  tblbooks where CatId='9'";
$query = $dbh -> prepare($sql);
$query -> bindParam(':status',$status, PDO::PARAM_STR);
$query->execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
$cnt=1;
if($query->rowCount() > 0)
{
foreach($results as $result)
{               ?>  
<option value="<?php echo htmlentities($result->id);?>"><?php echo htmlentities($result->BookName);?></option>
 <?php  }} ?> 
</select>
</div></div>
<button type="submit" name="add" id="submit" class="btn btn-info">
Inserisci Erogazione </button>

                                    </form>
Se il form viene popolato completamente tutto funziona se invece ometto di inserire gli aghi mi da questo errore indicando che sto cercando di inserire una stringa in un campo integer. Quello che ho trovato è questo codice
PHP:
if ($_POST['value'] === '') {
    $_POST['value'] = null; // or 'NULL' for SQL
}
attraverso il quale dovrei risolvere il problema nel senso che se il valore passato è esattamente vuoto deve convertirlo in null.
Secondo voi è la strada giusta oppure dovrei modificare la mia query? premetto che la tblerogazioni ha un solo valore autoincrement che è stato giustamente omesso dalla query.
 

marino51

Utente Attivo
28 Feb 2013
3.205
207
63
Lombardia
  • 6 Mag 2023
  • #2
io preferisco avere numeri nei campi numerici non il valore null
suggerisco

PHP:
$strisce  = !empty($_POST['strisce'])  ? $_POST['strisce']  : 0;
$lancette = !empty($_POST['lancette']) ? $_POST['lancette'] : 0;
$aghi     = !empty($_POST['aghi'])     ? $_POST['aghi']     : 0;
 
K

Kiko74b

Nuovo Utente
26 Giu 2022
19
2
3
  • 6 Mag 2023
  • #3
da qui nn posso testare domani proverò il tuo suggerimento. da quanto ho capito e perdona la banalità, le tre variabili in questo modo se sono vuote perche dal form non ho selezionato alcun articolo, inseriranno il numero zero, che è diverso da null, nel mysql db questi valori (strisce,lancette e aghi) assumono valore null predefinito. Questo è compatibile con la soluzione che mi suggerisci?
Inoltre nel momento in cui ottengo un valore numerico dovrei sostituire nel binding PDO:ARAM_STR con PDO:ARAM_INT?
 

marino51

Utente Attivo
28 Feb 2013
3.205
207
63
Lombardia
  • 7 Mag 2023
  • #4
ho capito che si tratta di campi numerici, il default dovrebbe essere 0 non null,
null potrebbe creare problemi quando si riutilizza il dato memorizzato nel db

di nuovo se i campi sono interi, giusto mettere ": param int"
 

marino51

Utente Attivo
28 Feb 2013
3.205
207
63
Lombardia
  • 7 Mag 2023
  • #5
Kiko74b ha scritto:
non ho selezionato alcun articolo
Clicca per allargare...
ho capito che inserisci la quantità (non codici)
 
Ultima modifica: 8 Mag 2023
Devi accedere o registrarti per poter rispondere.

Discussioni simili

G
Inserimento loop in una INSERT query in PHP e MySQL
  • Garaux
  • 16 Gen 2014
  • PHP
Risposte
2
Visite
2K
PHP 17 Gen 2014
Garaux
G
Problema query inserimento...
  • Emix
  • 16 Ott 2013
  • PHP
Risposte
6
Visite
2K
PHP 21 Ott 2013
Emix
B
[SQLite] Problemi query di inserimento
  • battax
  • 10 Dic 2012
  • PHP
Risposte
2
Visite
1K
PHP 11 Dic 2012
battax
B
P
Query Mysql per inserimento multiplo
  • paolofru
  • 28 Gen 2012
  • MySQL
Risposte
4
Visite
5K
MySQL 29 Gen 2012
borgo italia
A
inserimento di carousel jquery in una table
  • alben49
  • 15 Feb 2010
  • jQuery
Risposte
0
Visite
2K
jQuery 15 Feb 2010
alben49
A
A
Passaggio di un ID ad una query di inserimento
  • adfadf
  • 18 Apr 2009
  • PHP
Risposte
11
Visite
3K
PHP 21 Apr 2009
Eliox
I
errore inserimento creazione stanza
  • Imperor
  • 18 Giu 2024
  • PHP
Risposte
1
Visite
2K
PHP 18 Giu 2024
Imperor
I
K
form Inserimento record mysql
  • Kiko74b
  • 21 Gen 2023
  • PHP
Risposte
2
Visite
1K
PHP 25 Gen 2023
WmbertSea
[Retribuito] Cerco programmatore php per modifica/inserimento funzione/valori da un plugin importer wordpress
  • Lino80
  • 9 Gen 2023
  • Offerte e Richieste di Lavoro e/o Collaborazione
Risposte
0
Visite
3K
Offerte e Richieste di Lavoro e/o Collaborazione 9 Gen 2023
Lino80
C
inserimento gestionale sotto Word Press
  • carbar
  • 23 Mar 2022
  • WordPress
Risposte
0
Visite
1K
WordPress 23 Mar 2022
carbar
C
D
Inserimento video mp4
  • Darkbox
  • 7 Ott 2021
  • HTML e CSS
Risposte
0
Visite
802
HTML e CSS 7 Ott 2021
Darkbox
D
L
inserimento form dati multipli ?
  • luigithen
  • 13 Mag 2021
  • PHP
Risposte
0
Visite
1K
PHP 13 Mag 2021
luigithen
L
G
Appicazione HTML per inserimento dai in Database Access Microsoft
  • GOKU117
  • 6 Apr 2021
  • HTML e CSS
Risposte
0
Visite
2K
HTML e CSS 6 Apr 2021
GOKU117
G
J
Form inserimento dati in database
  • jerweb
  • 29 Gen 2021
  • Ajax
Risposte
1
Visite
4K
Ajax 5 Feb 2021
_SAGO
D
modificare questo codice per inserimento in text e non in tabella
  • Domenico2013
  • 22 Ott 2020
  • jQuery
Risposte
1
Visite
3K
jQuery 23 Ott 2020
Domenico2013
D
R
[C#] Automatizzare un inserimento di un Post su un Gruppo Facebook
  • race
  • 11 Ott 2020
  • .NET Framework
Risposte
0
Visite
2K
.NET Framework 11 Ott 2020
race
R
M
Aiuto con inserimento immagini
  • Manfrezy
  • 3 Ago 2020
  • WordPress
Risposte
6
Visite
3K
WordPress 3 Ago 2020
Tommy03
Impedire inserimento data di oggi e date passate
  • elpirata
  • 28 Lug 2020
  • jQuery
  • 2
Risposte
39
Visite
12K
jQuery 19 Ago 2020
MarcoGrazia
A
Inserimento dati nel database tramite form + altre operazioni
  • AndreaBet
  • 5 Giu 2020
  • PHP
Risposte
18
Visite
2K
PHP 5 Giu 2020
AndreaBet
A
W
Email conferma inserimento
  • windt
  • 4 Giu 2020
  • Classic ASP
Risposte
0
Visite
2K
Classic ASP 4 Giu 2020
windt
W
Condividi:
Facebook X (Twitter) LinkedIn WhatsApp e-mail Condividi Link
  • Home
  • Forum
  • Fare Web
  • PHP
  • Italiano
  • Termini e condizioni d'uso del sito
  • Policy Privacy
  • Aiuto
  • Home
Community platform by XenForo® © 2010-2024 XenForo Ltd. | Traduzione a cura di XenForo Italia
Menu
Accedi

Registrati

  • Home
  • Forum
    • Nuovi Messaggi
    • Cerca...
  • Novità
    • Featured content
    • Nuovi Messaggi
    • Ultime Attività
X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?

X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?