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

  • Autore discussione Autore discussione LS1987
  • Data d'inizio Data d'inizio
Pubblicità

LS1987

Utente Èlite
Messaggi
3,537
Reazioni
517
Punteggio
141
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.
 
Quel null mi preoccupa.
Hai specificato nel database che il valore può essere null? Prova '' invece di NULL
 
Ultima modifica:
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')
 
Pubblicità
Pubblicità
Indietro
Top