Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator
Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator
Dopo oltre 4 anni si rinnova la serie Sony Alpha 7 con la quinta generazione, che porta in dote veramente tante novità a partire dai 30fps e dal nuovo sensore partially stacked da 33Mpixel. L'abbiamo provata per un breve periodo, ecco come è andata dopo averla messa alle strette.
realme GT 8 Pro Dream Edition: prestazioni da flagship e anima racing da F1
realme GT 8 Pro Dream Edition: prestazioni da flagship e anima racing da F1
realme e Aston Martin Aramco F1 Team si sono (ri)unite dando alla vita un flagship con chip Snapdragon 8 Elite Gen 5 e design esclusivo ispirato alle monoposto di Formula 1. La Dream Edition introduce la nuova colorazione Lime Essence abbinata al tradizionale Aston Martin Racing Green, decorazioni intercambiabili personalizzate e una confezione a tema F1, intorno a uno smartphone dall'ottima dotazione tecnica con batteria da 7000mAh ricaricabile a 120W e isola fotografica intercambiabile
OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum
OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum
Abbiamo partecipato all'OVHcloud Summit 2025, conferenza annuale in cui l'azienda francese presenta le sue ultime novità. Abbiamo parlato di cloud pubblico e privato, d'intelligenza artificiale, di computer quantistici e di sovranità. Che forse, però, dovremmo chiamare solo "sicurezza"
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 06-03-2012, 08:15   #1
LS1987
Senior Member
 
Iscritto dal: Apr 2010
Messaggi: 1710
[PHP] Problema con l'inserimento in una tabella di database mysql

Buongiorno, ho avuto qualche problema con la seguente insert in php (ometto parte del codice).
{
[...]
$queryString = "INSERT INTO c (IdConn, IdUser, IdUserDest) VALUES (null, '$idUser1', '$idUser2')";

echo "InsertConnection2 ".$queryString." <br>";
effettuaQuery($conn, $idUser1, $queryString, $msg);
}
function effettuaQuery ($conn, $queryString, $msg) {

echo "Effettua Query <br>";
if ((!isset($queryString)) || ($queryString == null)) {
echo "Query null <br>";
return ;
}
$result = mysql_query($queryString, $conn) or die ("Errore nella query".mysql_error());
echo $msg[0]. " <br>";

if ((!isset($result)) || ($result == null)) {
echo "Result null";
return ;
}
if ($msg[1] != "NULL") {
if ($msg[1] != "NADA")
echo $msg[1]. " <br>";
while ($riga = mysql_fetch_row($result)) {
foreach ($riga as $elemento) {
echo $elemento." " ;
}
echo "<br>";
}
}
}

Viene stampato il seguente output:

InsertConnection2 INSERT INTO c ('dConn, IdUser, IdUserDest) VALUES (null, '7', '5')

Errore nella query

L'errore che mi viene restituito è il seguente:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '7' at line 1

Pensavo che fosse corretto eseguire una Insert con questa sintassi. I campi della tabella sono tutti interi, non ci possono essere due coppie uguali (IdUser, IdUserDest) (UNIQUE).

Il Databse prova e la tabella c esistono quindi il problema non è quello.

La funzione effettuaquery funziona, perché l'ho già provata con altre Query.

Ultima modifica di LS1987 : 06-03-2012 alle 08:31.
LS1987 è offline   Rispondi citando il messaggio o parte di esso
Old 06-03-2012, 09:06   #2
ndakota
Senior Member
 
L'Avatar di ndakota
 
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
Quote:
Originariamente inviato da LS1987 Guarda i messaggi
Buongiorno, ho avuto qualche problema con la seguente insert in php (ometto parte del codice).
{
[...]
$queryString = "INSERT INTO c (IdConn, IdUser, IdUserDest) VALUES (null, '$idUser1', '$idUser2')";

echo "InsertConnection2 ".$queryString." <br>";
effettuaQuery($conn, $idUser1, $queryString, $msg);
}
function effettuaQuery ($conn, $queryString, $msg) {

echo "Effettua Query <br>";
if ((!isset($queryString)) || ($queryString == null)) {
echo "Query null <br>";
return ;
}
$result = mysql_query($queryString, $conn) or die ("Errore nella query".mysql_error());
echo $msg[0]. " <br>";

if ((!isset($result)) || ($result == null)) {
echo "Result null";
return ;
}
if ($msg[1] != "NULL") {
if ($msg[1] != "NADA")
echo $msg[1]. " <br>";
while ($riga = mysql_fetch_row($result)) {
foreach ($riga as $elemento) {
echo $elemento." " ;
}
echo "<br>";
}
}
}

Viene stampato il seguente output:

InsertConnection2 INSERT INTO c ('dConn, IdUser, IdUserDest) VALUES (null, '7', '5')

Errore nella query

L'errore che mi viene restituito è il seguente:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '7' at line 1

Pensavo che fosse corretto eseguire una Insert con questa sintassi. I campi della tabella sono tutti interi, non ci possono essere due coppie uguali (IdUser, IdUserDest) (UNIQUE).

Il Databse prova e la tabella c esistono quindi il problema non è quello.

La funzione effettuaquery funziona, perché l'ho già provata con altre Query.
Questo è un refuso qui o che?

Codice:
INSERT INTO c ('dConn,
ndakota è offline   Rispondi citando il messaggio o parte di esso
Old 06-03-2012, 21:03   #3
LS1987
Senior Member
 
Iscritto dal: Apr 2010
Messaggi: 1710
Quote:
Originariamente inviato da ndakota Guarda i messaggi
Questo è un refuso qui o che?

Codice:
INSERT INTO c ('dConn,
Refuso: IdConn. Nulla di grave, poiché ho fatto un errore a copiare l'output (avrò sovrascritto un carattere per errore), mentre non ho fatto errori nel codice. C'è qualche taglio, ma il resto funzionava. Dà errore in quella query.
LS1987 è offline   Rispondi citando il messaggio o parte di esso
Old 06-03-2012, 21:11   #4
ndakota
Senior Member
 
L'Avatar di ndakota
 
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
Se i campi sono interi non devi mettere gli apici per le variabili nel values.
ndakota è offline   Rispondi citando il messaggio o parte di esso
Old 06-03-2012, 21:56   #5
LS1987
Senior Member
 
Iscritto dal: Apr 2010
Messaggi: 1710
Quote:
Originariamente inviato da ndakota Guarda i messaggi
Se i campi sono interi non devi mettere gli apici per le variabili nel values.
Ho provato anche senza, ma mi dà errore lo stesso. Sono tutti e 3 campi interi. Ho provato tutte le combinazioni con e senza apici, ma niente.
LS1987 è offline   Rispondi citando il messaggio o parte di esso
Old 07-03-2012, 08:27   #6
LS1987
Senior Member
 
Iscritto dal: Apr 2010
Messaggi: 1710
Quote:
Originariamente inviato da LS1987 Guarda i messaggi
Ho provato anche senza, ma mi dà errore lo stesso. Sono tutti e 3 campi interi. Ho provato tutte le combinazioni con e senza apici, ma niente.
Up!
LS1987 è offline   Rispondi citando il messaggio o parte di esso
Old 08-03-2012, 12:30   #7
LS1987
Senior Member
 
Iscritto dal: Apr 2010
Messaggi: 1710
Quote:
Originariamente inviato da LS1987 Guarda i messaggi
Ho provato anche senza, ma mi dà errore lo stesso. Sono tutti e 3 campi interi. Ho provato tutte le combinazioni con e senza apici, ma niente.
Up!
LS1987 è offline   Rispondi citando il messaggio o parte di esso
Old 09-03-2012, 17:13   #8
LS1987
Senior Member
 
Iscritto dal: Apr 2010
Messaggi: 1710
Quote:
Originariamente inviato da LS1987 Guarda i messaggi
Ho provato anche senza, ma mi dà errore lo stesso. Sono tutti e 3 campi interi. Ho provato tutte le combinazioni con e senza apici, ma niente.
Up!
LS1987 è offline   Rispondi citando il messaggio o parte di esso
Old 09-03-2012, 17:43   #9
Ballantine
Member
 
L'Avatar di Ballantine
 
Iscritto dal: May 2004
Messaggi: 278
Direi che, oltre a togliere gli apici agli interi, devi scrivere NULL al posto di null. Volendo puoi anche mettere il ";" alla fine della query, giusto per correttezza sintattica:

Codice:
$queryString = "INSERT INTO c (IdConn, IdUser, IdUserDest) VALUES (NULL, $idUser1, $idUser2);";
__________________
PROCESSORE: AMD Athlon64 2800+ Boxed - MOTHERBOARD: Gigabyte K8NS nForce3 250 - SCHEDA VIDEO: 3D Prophet 9800 Pro 128MB - RAM: 512MB Corsair Value + 512 V-Data - CASE: Chieftech Dragon - ALIMENTATORE: Q-TEC 550W - HARD DISK: Seagate SATA 80 GB - LETTORE DVD: LG 16x52x - MASTERIZZATORE: Nec ND-3520
Ballantine è offline   Rispondi citando il messaggio o parte di esso
Old 10-03-2012, 09:15   #10
LS1987
Senior Member
 
Iscritto dal: Apr 2010
Messaggi: 1710
Quote:
Originariamente inviato da Ballantine Guarda i messaggi
Direi che, oltre a togliere gli apici agli interi, devi scrivere NULL al posto di null. Volendo puoi anche mettere il ";" alla fine della query, giusto per correttezza sintattica:

Codice:
$queryString = "INSERT INTO c (IdConn, IdUser, IdUserDest) VALUES (NULL, $idUser1, $idUser2);";
Era giusta, ma c'erano dei bug altrove.
LS1987 è offline   Rispondi citando il messaggio o parte di esso
Old 08-05-2012, 11:33   #11
biffuz
Senior Member
 
L'Avatar di biffuz
 
Iscritto dal: Jul 2001
Messaggi: 3490
Ma l'hai risolto poi? Non vedo errori nella query, a parte il fatto che non servono né apici né tantomeno punti e virgola, l'unica cosa che mi viene in mente è qualche carattere non visibile. Comunque non concatenare direttamente le variabili nelle query, usa i prepared statement con mysqli o qualche libreria. O se proprio non vuoi, metti almeno un mysql_escape:

$query = "INSERT INTO pippo VALUES ('" . mysql_escape($valore) . "')"
__________________
www.biffuz.it | Thou shall not follow the NULL pointer, for chaos and madness await thee at its end.
Powered by: M1 @ Sonoma | 7600X @ W11 | C2Q @ XP | P!!! @ W98+BeOS | 286 @ W3.1 | C64 | iP16 | iPad8 | rPi4 | and more...
biffuz è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator Sony Alpha 7 V, anteprima e novità della ...
realme GT 8 Pro Dream Edition: prestazioni da flagship e anima racing da F1 realme GT 8 Pro Dream Edition: prestazioni da fl...
OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum OVHcloud Summit 2025: le novità del cloud...
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI C...
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro DJI Neo 2 in prova: il drone da 160 grammi guada...
AWS rinnova lo stack dell’IA: Trainium3,...
AWS entra nell'era degli agenti: il keyn...
Roscosmos: inventario a bordo della ISS ...
Arduino viene acquisita da Qualcomm e ca...
Un razzo spaziale Arianespace Vega C ha ...
Terra Next dà il via a Scale-Up P...
Il veicolo riutilizzabile ESA Space Ride...
Un Mousepad per mirare meglio: uno youtu...
Tokyo Electron sotto accusa: Taiwan cont...
L'ESA sta cercando alternative all'utili...
iliad TOP 250 PLUS e TOP 300 PLUS: valan...
FRITZ! a Sicurezza 2025: connessioni WiF...
I 18enni di oggi non fanno più la...
Super offerte Apple: iPhone 16e a 529€ e...
Torres EVT arriva in Italia con listino ...
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: 06:04.


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