[PHP] Problema con l'inserimento in una tabella di database mysql

LS1987

Utente Èlite
3,515
510
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.
 

cawletto

Utente Attivo
475
25
CPU
i5 750
HDD
1 TB
RAM
6 GB
GPU
GXT 460 SE 1GB overclocked
Monitor
Samsung LCD 1280x1024
PSU
Cooler Master Silent Pro M 600 W
Case
HP
OS
Windows 7-64 bit
Quel null mi preoccupa.
Hai specificato nel database che il valore può essere null? Prova '' invece di NULL
 
Ultima modifica:

Roberto Buonanno

Amministratore
1,724
257
Si tratta di un problema di query SQL e non ovviamente di php. Al posto di mettere null, metti... niente.
Dacci anche lo schema della tabella se vuoi aiutarci a capire, così possiamo riprodurla. Vai in phpmyadmin e fai esporta schema, anche senza dati.


INSERT INTO c (IdConn, IdUser, IdUserDest) VALUES ('', '7', '5')
 

Entra

oppure Accedi utilizzando

Hot: E3 2021, chi ti è piaciuto di più?

  • Ubisoft

    Voti: 30 22.6%
  • Gearbox

    Voti: 2 1.5%
  • Xbox & Bethesda

    Voti: 87 65.4%
  • Square Enix

    Voti: 10 7.5%
  • Capcom

    Voti: 6 4.5%
  • Nintendo

    Voti: 18 13.5%
  • Altro (Specificare)

    Voti: 11 8.3%

Discussioni Simili