Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Motorola razr fold, dalla conchiglia al formato a libro. La recensione
Motorola razr fold, dalla conchiglia al formato a libro. La recensione
Abbiamo provato Motorola razr fold, il pieghevole a libro con display interno LTPO da 8,09 pollici, Snapdragon 8 Gen 5 e batteria da 6000 mAh in 243 grammi. Pennino e custodia sopno già nella confezione, per un foldable che si caratterizza per il pannello luminoso, l'autonomia ottima per la categoria e le fotocamere coerenti e ben sfruttabili. Il listino è di 1999 euro, ma in vendita si trova già a molto meno
Recensione Google Pixel Watch 5: sembra lo stesso, ma al polso la differenza si sente
Recensione Google Pixel Watch 5: sembra lo stesso, ma al polso la differenza si sente
Google Pixel Watch 5 ha affinato una formula già convincente con hardware più veloce, Gemini offline e nuovi strumenti per sport e benessere. Abbiamo provato la versione LTE da 41 mm, comoda anche di notte e ben proporzionata sui polsi piccoli. Il design resta un punto di forza, ma l'autonomia premia ancora il 45 mm e alcune funzioni AI non sono disponibili in Italia: ecco che cosa cambia rispetto a Watch 4 e quale formato conviene scegliere oggi
Nokia Innovation Day 2026: la sovranità europea passa dal mercato unico e dai laboratori italiani del gruppo
Nokia Innovation Day 2026: la sovranità europea passa dal mercato unico e dai laboratori italiani del gruppo
Politica, accademia e industria a confronto su mercato unico, sicurezza e competitività. Nei laboratori di Vimercate, Nokia ha mostrato le nuove generazioni di chip ottici e i test che ogni prodotto deve superare prima di arrivare sul mercato
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 23-04-2009, 19:07   #1
Ginos
Member
 
L'Avatar di Ginos
 
Iscritto dal: Jun 2006
Messaggi: 188
[PHP - MYSQL] Garantire integrità referenziale tra tabelle innodb

Salve a tutti, avrei un piccolo problema con due tabelle con engine innodb.
Mi è capitato un paio di volte che le due tabelle (principal_table e elements_eventi) perdano l'integrità referenziale. In questo momento la prima tabella ha 75 record mentre la seconda ne ha 74. Quando succede questo l'applicativo non mi permette più l'inserimento dei dati fino a quando non azzerro entrambe le tabelle con Truncate.
Questo è il codice che utilizzo per inserire "contemporaneamente" i dati. E' corretto usare solo questo sistema o mi conviene utilizzare anche commit e rollback?
Codice PHP:
$query = "INSERT INTO principal_table (nome,cognome,codicefiscale,indirizzo,citta,provincia,cap,nazione,telefono,fax,email,fattura,categoria_a,cod_iva,int_fattura,indirizzo_fattura,indirizzo_int,citta_int,provincia_int,cap_int,nazione_int,mod_pagamento,prezzo,stato_pagamento,data,conferma,movimenta,iva) 
VALUES (\"
$resul_nome\",\"$resul_cognome\",\"$resul_codicefiscale\",\"$resul_indirizzo\",\"$resul_citta\",\"$resul_provincia\",\"$resul_cap\",\"$resul_nazione\",\"$resul_telefono\",\"$resul_fax\",\"$resul_email\",\"$resul_fattura\",\"$resul_categoria_a\",\"$resul_cod_iva\",\"$resul_int_fattura\",\"$resul_indirizzo_fattura\",\"$resul_indirizzo_int\",\"$resul_citta_int\",\"$resul_provincia_int\",\"$resul_cap_int\",\"$resul_nazione_int\",\"$resul_mod_pagamento\",\"$costi\",\"$stato_error\",now(),\"$conferma\",\"$movimenta\",\"$iva\")";

$insert = mysql_query($query, $conn);
$id     = mysql_insert_id();

$query_events = "INSERT INTO elements_eventi (evento_id, email, cena_gala, costo_gala, evento_sociale, costo_evento, serv_navetta, costo_navetta, totale, visti) 
VALUES (\"
$id\",\"$resul_email\",\"{$_SESSION['cena_gala']}\",\"{$_SESSION['costo_gala']}\",\"{$_SESSION['evento_sociale']}\",\"{$_SESSION['costo_evento']}\",\"{$_SESSION['serv_navetta']}\",\"{$_SESSION['costo_navetta']}\",\"$totale_eventi\",\"$visti\")"; 
grazie mille!
Ginos è offline   Rispondi citando il messaggio o parte di esso
Old 23-04-2009, 22:05   #2
Ginos
Member
 
L'Avatar di Ginos
 
Iscritto dal: Jun 2006
Messaggi: 188
In questo modo potrebbe andare o è preferibile impostare l'autocommit a 0?
I dati vengono inseriti correttamente nelle due tabelle ma mi servirebbe sapere se con questo metodo posso essere sicuro.
Codice PHP:
@mysql_query("BEGIN");

$query = "INSERT INTO principal_table (nome,cognome,codicefiscale,indirizzo,citta,provincia,cap,nazione,telefono,fax,email,fattura,categoria_a,cod_iva,int_fattura,indirizzo_fattura,indirizzo_int,citta_int,provincia_int,cap_int,nazione_int,mod_pagamento,prezzo,stato_pagamento,data,conferma,movimenta,iva) 
VALUES (\"
$resul_nome\",\"$resul_cognome\",\"$resul_codicefiscale\",\"$resul_indirizzo\",\"$resul_citta\",\"$resul_provincia\",\"$resul_cap\",\"$resul_nazione\",\"$resul_telefono\",\"$resul_fax\",\"$resul_email\",\"$resul_fattura\",\"$resul_categoria_a\",\"$resul_cod_iva\",\"$resul_int_fattura\",\"$resul_indirizzo_fattura\",\"$resul_indirizzo_int\",\"$resul_citta_int\",\"$resul_provincia_int\",\"$resul_cap_int\",\"$resul_nazione_int\",\"$resul_mod_pagamento\",\"$costi\",\"$stato_error\",now(),\"$conferma\",\"$movimenta\",\"$iva\")";

$insert = mysql_query($query, $conn);
$id     = mysql_insert_id($conn);

$query_events = "INSERT INTO elements_eventi (evento_id, email, cena_gala, costo_gala, evento_sociale, costo_evento, serv_navetta, costo_navetta, totale, visti) 
VALUES (\"
$id\",\"$resul_email\",\"{$_SESSION['cena_gala']}\",\"{$_SESSION['costo_gala']}\",\"{$_SESSION['evento_sociale']}\",\"{$_SESSION['costo_evento']}\",\"{$_SESSION['serv_navetta']}\",\"{$_SESSION['costo_navetta']}\",\"$totale_eventi\",\"$visti\")";

$insert_events = mysql_query($query_events, $conn);

if(
$insert && $insert_events)
{
@
mysql_query("COMMIT");
}
else
{
@
mysql_query("ROLLBACK");
} 

Ultima modifica di Ginos : 23-04-2009 alle 22:30.
Ginos è offline   Rispondi citando il messaggio o parte di esso
Old 24-04-2009, 11:03   #3
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
scusa ma usi le chiavi esterne ?
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 27-04-2009, 10:13   #4
Ginos
Member
 
L'Avatar di Ginos
 
Iscritto dal: Jun 2006
Messaggi: 188
Si utilizzo le chiavi esterne.
Le tabelle sono configurate in Innodb e i campi che utilizzo per unirle con il Join sono "evento_id int 11 primary key auto-increment" della tab principal_table e "evento_id int 11" della tab. elements_eventi.(Update e Delete ON CASCADE)
Ginos è offline   Rispondi citando il messaggio o parte di esso
Old 29-04-2009, 20:22   #5
Ginos
Member
 
L'Avatar di Ginos
 
Iscritto dal: Jun 2006
Messaggi: 188
nessun suggerimento?
Ginos è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Motorola razr fold, dalla conchiglia al formato a libro. La recensione Motorola razr fold, dalla conchiglia al formato ...
Recensione Google Pixel Watch 5: sembra lo stesso, ma al polso la differenza si sente Recensione Google Pixel Watch 5: sembra lo stess...
Nokia Innovation Day 2026: la sovranità europea passa dal mercato unico e dai laboratori italiani del gruppo Nokia Innovation Day 2026: la sovranità e...
In sella alla Fiido Nomads Pro: e-bike con motore centrale da 100 Nm per il divertimento a 360 gradi In sella alla Fiido Nomads Pro: e-bike con motor...
ASUS Zenbook 14 (UX3480AA): tanta autonomia con uno chassis bello e robusto ASUS Zenbook 14 (UX3480AA): tanta autonomia con ...
Federico Veronesi vince i Wildlife Photo...
Samsung Galaxy bloccati dopo l'aggiornam...
L'UE prolunga il periodo di test del pro...
Offerte Amazon di oggi: e-bike da 616€, ...
La missione cino-europea ESA Smile ha in...
Cisco sulle tracce dell’IA nei malware: ...
Nuovo Codice della strada: stop alla PEC...
Blue Origin Constellation Park: un nuovo...
E-bike da 615€ su Amazon: Bodywel F20PRO...
Windows 11 24H2, stop al supporto per Ho...
Gemini 4 Argon disponibile per tutti: co...
Sony avrebbe chiuso Overdrive, lo store ...
Abbiamo scattato con OPPO Find X10 Pro M...
Fino a 21 miliardi per i chip americani:...
Minions: Apple trasforma i Mac inattivi ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 19:35.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v