Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce
Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce
REDMI Note 17 Pro porta in fascia media una batteria da 8.340 mAh con ricarica HyperCharge a 67W, un display AMOLED da 6,83 pollici capace di picchi di luminosità molto elevati e una struttura certificata TÜV SÜD contro cadute e infiltrazioni d'acqua, il tutto racchiuso in una scocca da 223 grammi. Lo abbiamo provato per diversi giorni tra fotocamera, prestazioni, autonomia e prezzo sul mercato italiano
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra integra un sensore da 1 pollice 8K, ottiche Leica e triplo chip IA. Tra schermo OLED rimovibile, workflow I-Log a 10 bit e stabilizzazione a tre assi, analizziamo le doti tecniche di una gimbal camera pensata per i professionisti
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 06-03-2012, 07:15   #1
LS1987
Senior Member
 
Iscritto dal: Apr 2010
Messaggi: 1711
[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 07:31.
LS1987 è offline   Rispondi citando il messaggio o parte di esso
Old 06-03-2012, 08: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, 20:03   #3
LS1987
Senior Member
 
Iscritto dal: Apr 2010
Messaggi: 1711
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, 20: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, 20:56   #5
LS1987
Senior Member
 
Iscritto dal: Apr 2010
Messaggi: 1711
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, 07:27   #6
LS1987
Senior Member
 
Iscritto dal: Apr 2010
Messaggi: 1711
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, 11:30   #7
LS1987
Senior Member
 
Iscritto dal: Apr 2010
Messaggi: 1711
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, 16:13   #8
LS1987
Senior Member
 
Iscritto dal: Apr 2010
Messaggi: 1711
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, 16: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, 08:15   #10
LS1987
Senior Member
 
Iscritto dal: Apr 2010
Messaggi: 1711
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, 10:33   #11
biffuz
Senior Member
 
L'Avatar di biffuz
 
Iscritto dal: Jul 2001
Messaggi: 3502
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 @ Tahoe | 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


Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce Recensione REDMI Note 17 Pro: il midrange con ba...
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema Insta360 Luna Ultra: la potenza del sensore da 1...
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Apple potrebbe aumentare ancora i prezzi...
Il cervello di moscerino virtuale ha imp...
Torna al prezzo super di 629€ il portati...
Gemini ha hackerato tre aziende durante ...
Mini PC con Ryzen 7, 32GB di RAM e 1TB S...
DAZN Full in sconto a partire da 19,99 e...
iPhone 18 Pro disponibile su Amazon a 1....
ECOVACS T90 OMNI a 439€ e T90 MAX OMNI a...
Questa Proscenic è la scopa elett...
Microsoft Defender: falso allarme sull'a...
Aerei in volo e truppe pronte all'assalt...
Usano Claude per hackerare OpenAI: ricer...
RatHat: il nuovo malware Android usa il ...
Domanda di petrolio in calo di 2,5 milio...
Il meglio delle offerte weekend Amazon a...
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: 07:13.


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