- 3,530
- 516
- CPU
- Phenom II X 4 945 @ 3 GHz
- Scheda Madre
- Asus M3A78-CM
- HDD
- Seagate 500 GB
- RAM
- 4096 MB DDR2
- GPU
- nVidia GeForce 9800 GT
- Audio
- Integrato
- Monitor
- HP 21.5" 16:9
- PSU
- Cooler Master
Buonasera, 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 (IdConn, 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.
{
[...]
$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 (IdConn, 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.