errore con mysql insert in PDO

3_g

Utente Attivo
5 Set 2017
36
1
8
Ancona
grazie di tutti i consigli... ma credo che mi stiate sopravvalutando:eek::D... implementare quello a cui vi riferite prevede una competenza che al momento non credo di avere (sicuramente andrò a vedere di cosa si tratta;))
questa sera/notte farò ulteriori prove sostituendo le "virgolette" (non riesco ancora a gestirle bene... ma neanche in asp ci riuscivoo_O)

però una cosa l'ho scoperta...
Codice:
101|"Nome Cognome"|"citta"|1|0.0|5|1
102|"Nome Cognome"|"citta"|2|0.1|4|1
103|"Nome Cognome"|"citta"|3|0.2|3|1
104|"Nome Cognome"|"citta"|4|0.3|2|1
105|"Nome Cognome"|"citta"|5|0.4|1|1
questo tipo di dati non crea problemi... mentre questo... si

Codice:
101|0|"Nome Cognome"|"Citta"|1|0|0|0.0|0|0|0.0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1

dopo innumerevoli prove sono arrivato alla conclusione (mi riprometto di rifarle con la sistemazione delle virgolette) che il problema non deriva dalla struttura della tabella e/o tipo di dato l'errore viene generato dall'ultimo campo dell'ultima riga del file di testo:eek::eek::eek:... strano è...

infatti se inserisco 10 righe, nella tabella ne ritrovo 9... se al file inserisco ulteriori 10 righe, nella tabella ne ritrovo 19 (quindi non è la 10^ riga a dare errore:eek:... dall'errore proposto pare ci sia un "problema" di "integer"
PHP:
  $database->bind(':var10', (int)$var10);
ma se "forzo il tipo di dato in questa modo (giusto... non credo)... non c'è più l'errore ma nella tabella invece del valore 1 c'è 0

la telenovela continuerà questa sera/notte:D:D:D
 

macus_adi

Utente Attivo
5 Dic 2017
1.343
91
48
IT/SW
ok, quindi @marino51 mi dici che l'utilizzo di eloquent è irrilevante in quanto riesci a mappare e catturare tutte le eccezioni...
Mi sta bene per il metodo tuo, il custom code, la conoscenza del proprio codice, ma....
Stiamo parlando di Laravel no di Webiny, sarebbe come dire "non comprarti l'audi ma una fiat, dopo modificala perchè fa la stessa cosa dell'audi....".
Scusa l'osservazione, non voglio scatenare l'inferno, ma 2/4/10 metodi affinarli a Eloquent mi sembra un pò troppo esagerato nonché spocchioso...
 

marino51

Utente Attivo
28 Feb 2013
3.203
207
63
Lombardia
Scusa l'osservazione, non voglio scatenare l'inferno, ma 2/4/10 metodi affinarli a Eloquent mi sembra un pò troppo esagerato nonché spocchioso...
in realtà non compro ne audi ne fiat,
suggerisco di costruire in proprio, soprattutto lo suggerisco a chi sta imparando, perché così acquisisce molte più conoscenze
poi tranquillo, leggo sempre con curiosità i tuoi post,
dove sono citati molti frameworks, tools e librerie,
ma post poco utili alla soluzione immediata del problema a cui tiene chi scrive nel forum
quindi non esagerare con le citazioni e non mostrare solo la spocchia delle tue conoscenze ( per titoli ? )

ti é dovuta 1 sola risposta, non aspettare altro
at salut
 

3_g

Utente Attivo
5 Set 2017
36
1
8
Ancona
spero che queste "divergenze di vedute" non vi allontanino dal post;)... perchè ci sono interessanti novità... che andrebbero spiegate...
iniziamo dall'inizio...
c'è incongruenza tra apici, usa virgolette per delimitare la query e gli apici per i valori interni ad essa,
vedi suggerimento prova 1
corretta la query, come suggerito... il risultato non cambia:eek:
Fatal error: Uncaught PDOException: SQLSTATE[HY000]: General error: 1366 Incorrect integer value: '' for column 'field22' at row 1

e allora guarda che ti riguarda se ci sono delle differenze tra i due file di testo (quello semplificato, che funziona, e quello originale)... in fondo il tipo di dati è uguale i separatori anche... ma c'è sempre quel problema dell'ultimo dato sull'ultimo campo...

BEH NON CI VOLEVO CREDERE... nel file semplificato mi era "sfuggito" un invio a capo (cioè c'è una riga vuota alla fine del file):eek::eek::eek::eek::eek:

inserito quello anche nel file originale lo script non va più in errore... e tutti i valori vengono inseriti correttamente:)

ora mi piacerebbe capire perché?? c'è un motivo??
 

marino51

Utente Attivo
28 Feb 2013
3.203
207
63
Lombardia
nel file semplificato mi era "sfuggito" un invio a capo (cioè c'è una riga vuota alla fine del file
il "carriage return - line feed" sono i separatori di riga, che permettono la gestione del file riga x riga
leggendo il contenuto del file in esadecimale, sono rappresentati rispettivamente dai caratteri "0D 0A",
in PHP li trovi come "\r\n"
quando l'ultima riga non é chiusa da questi caratteri, viene gestita per via dell"EOF" end of file
e quindi il comportamento (risultato) dipende dalla sequenza delle operazioni nello script

come dire, " keep it in mind ! "
 
Ultima modifica:

3_g

Utente Attivo
5 Set 2017
36
1
8
Ancona
...e si può effettuare un "controllo", via script, per verificare che sia presente il fine riga in modo tale da evitare l'errore??

cioè, vista l'impostazione dello script... lettura riga a riga del file di testo come si può verificare se tali caratteri sono presenti alla fine della riga che si sta leggendo ed eventualmente inserirlo/gestirlo?
 

marino51

Utente Attivo
28 Feb 2013
3.203
207
63
Lombardia
certo che hai modo di controllare,
quando hai letto la riga e hai "caricato" i singoli valori in un'array,
conta gli elementi di quest'ultima "count($array)", se il loro numero non é quello che ti aspetti,
la riga é errata …
in questo modo evidenzi anche le righe "anomale"
scusa se uso un esempio da vbscript, l'ho sottomano e lo capirai perfettamente
Codice:
v=split(fileline,";")    ' riporta gli elementi in una array

if ubound(v)=14 then    ' ne controlla il numero


scusa se ho risposto ora ma mi hanno interrotto e nel frattempo hai ricevuto un altro suggerimento
 

3_g

Utente Attivo
5 Set 2017
36
1
8
Ancona
vi ringrazio per i Vostri preziosi consigli... che cercherò di mettere a fruttoo_O (già questa sera:))

e quando inevitabilmente mi incarterò:eek:...
 
Discussioni simili
Autore Titolo Forum Risposte Data
M [MySql - VB6 sp6] Problema connessione db con alcuni pc (errore Lost connection to MySQL server...). MySQL 1
M [MySQL] Solito errore #1064 con poca comprensione MySQL 14
C [MySQL] errore nell'importazione tabella con file csv MySQL 0
M errore lettura data nel mysql con funzione Where PHP 1
R Errore di comunicazione con database Mysql PHP 5
E errore php con database mysql PHP 0
G Errore connessione mysql con dreamweaver PHP 3
B Errore MySQL 10060 con mysql_connect PHP 1
Jensen Errore di sintassi con DELETE PHP 3
P errore 404 con javascript Javascript 2
R Navigare sito con cURL, mi restituisce errore PHP 0
L File CSV con app inventor da errore Sviluppo app per Android 2
I Errore 80040220 nella newsletter con paginazione Classic ASP 0
MarcoGrazia [PHP] Download di file con errore all'interno. PHP 1
Tommy03 Errore invio email con PHP PHP 1
Max 1 Errore driver con lettore di smart card Hardware 6
A [PHP] errore 404 e invio mai path pagina con link interrotto PHP 2
L [PHP] upload con errore PHP 2
auritidesign Errore con mysqli_fetch_array PHP 3
6 Errore pubblicazione sito con Muse Webdesign e Grafica 0
romeocharly errore del codice html con javascript durante ottimizzazione websitex5 Javascript 7
O errore INSERT con oggeto datetime MySQL 2
napuleone phpmyadmin problemi con windows 10 errore 200 PHP 0
C Errore con classe PHP 4
1 Errore di istallazione programma vb2010 con access in allegato MS Access 8
C Form con dentro div errore validatore w3c HTML e CSS 6
asevenx validazione W3C con errore utf-8 HTML e CSS 3
asevenx Errore di connessione e permessi in scrittura file .xml con Aruba Windows Hosting 8
M Errore ListView con ID "android.R.id.list" Sviluppo app per Android 1
J Problema con questo errore Error was: Undefined index: title linea 9 PHP 21
Z Errore con il register PHP 2
V problemi con lock tables (errore 1100) come fare? MySQL 0
A Errore con header ( Location...) PHP 4
F errore con wordpress plug in WordPress 0
valient13 Errore con le emotions [javascript + php] Javascript 0
F Errore configurazione APACHE con PHP Apache 1
neo996sps Errore con script per invio mail PHP 3
M errore in IE con array.style Javascript 0
E errore con internet explorer Windows e Software 2
A errore : "550 cannot stor no permission" per pubblicare il sito con expression web Webdesign e Grafica 0
A errore : "550 cannot stor no permission" per pubblicare il sito con expression web HTML e CSS 1
C Errore 678 con modem alice gate 2 plus wifi Reti LAN e Wireless 3
neo996sps Errore su connessione a DB con VB2008 express Visual Basic 1
asevenx errore con l'inserimento dei dati nel database, campi vuoti Classic ASP 1
G errore con div container HTML e CSS 1
neo996sps Errore visualizzazione sito con explorer HTML e CSS 1
asevenx errore durante l'invio di email con CDONTS Classic ASP 8
F Query con errore Database 3
wer16 errore in ie con float left HTML e CSS 2
Y strano errore con immissione nickname e password PHP 8

Discussioni simili