Errore di sintassi mysql?

hackersatifal

Utente Attivo
9 Ago 2012
238
0
0
Salve a tutti,
ho uno script php dove vi sono delle query mysql che vengono eseguite in un database. Il problema è che, pur eseguendosi le query, mi restituisce questo errore: '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 '1' at line 1'

Ecco i var_dump(); delle query che potrebbero essere interessate:

PHP:
"SELECT * FROM amici_temp WHERE username_proprietario = 'pinco' && username_amico = 'pallo'"

PHP:
"INSERT INTO amici_temp (username_proprietario, username_amico) VALUES ('pinco', 'pallo')"

Ecco il codice php:
PHP:
<?php 
if(!isset($_SESSION)){session_start();}   
if(!isset($_SESSION['utente'])){   
    header("location: login2.php?azione=login");  
    exit();    
}
require_once "connessione.php"; 
if (isset($_GET['user']) && isset($_GET['insert'])) { 
    $query = "SELECT * FROM amici_temp   
                   WHERE username_proprietario = '" . $_SESSION['utente'] . "'   
                         && username_amico = '" . $_GET['user'] . "'"; 
var_dump($query);
    $result = mysql_query($query) or die(mysql_error()); 
    if (mysql_num_rows($result) == 0) { 
        $q = "INSERT INTO amici_temp (username_proprietario, username_amico)   
                 VALUES ('" . $_SESSION['utente'] . "', '" . $_GET['user'] . "')"; 
var_dump($q);
        $query = mysql_query($q); 
        $inviautente = mysql_query($query) or die(mysql_error()); 
        header("Refresh: 1; URL= profile2.php?id={$_SESSION['utente']}"); 
    } 
} 
$query = "SELECT * FROM amici_temp
                   WHERE username_proprietario = '" . $_SESSION['utente'] . "'   
                         && username_amico = '" . $_GET['id'] . "'"; 
$result = mysql_query($query) or die(mysql_error()); 
if (mysql_num_rows($result) == 0) { 
    echo "<a href=\"?insert&user=" . $_GET['id'] . "\" onclick=\"return(confirm('Sei sicuro di voler inoltrare la richiesta di amicizia?'))\">Aggiungi agli amici!</a>"; 
} else { 
    echo ""; 
} 
?>

Grazie a tutti in anticipo per il vostro aiuto,
hackersatifal. :)
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao,
nei due var_dump che hai postato non ci sono errori
probabilmente l'errore si riferisce ad un altra query che hai nella stessa pagina
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
controlla questa query con il solito var_dump
PHP:
//....
$query = "SELECT * FROM amici_temp WHERE username_proprietario = '" . $_SESSION['utente'] . "' && username_amico = '" . $_GET['id'] . "'";
//....
perchè quando entri nella pagina è la prima query eseguita e non mi sembra che tu valorizzi $_GET['id'].
 

hackersatifal

Utente Attivo
9 Ago 2012
238
0
0
Ciao,
nei due var_dump che hai postato non ci sono errori
probabilmente l'errore si riferisce ad un altra query che hai nella stessa pagina

Nella pagina ho solo queste query. Ora mi sono accorto che non le esegue, quindi queste sono il problema, anche se anche io penso che non vi siano errori.
Come posso fare?
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
prova ad inserire il var_dump delle query direttamente nel SQL di phpmyadmin e vedi se ti restituisce qualche errore
togli gli apici doppi (")pero
incollala cosi
Codice:
SELECT * FROM amici_temp WHERE username_proprietario = 'pinco' && username_amico = 'pallo'
 

hackersatifal

Utente Attivo
9 Ago 2012
238
0
0
prova ad inserire il var_dump delle query direttamente nel SQL di phpmyadmin e vedi se ti restituisce qualche errore
togli gli apici doppi (")pero
incollala cosi
Codice:
SELECT * FROM amici_temp WHERE username_proprietario = 'pinco' && username_amico = 'pallo'

Su phpmyadmin non mi restituisce nessun errore.
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
nemmeno l'altra?
il record te lo trova?
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
Ciao, prova a modificare questa query:
PHP:
$query="SELECT * FROM amici_temp WHERE username_proprietario = '" . $_SESSION['utente'] . "' && username_amico='".$_GET['id']."'";
Con:
PHP:
$query = "SELECT * FROM amici_temp WHERE username_proprietario = '" . $_SESSION['utente'] . "' && username_amico = " . $_GET['id'];

Suppongo che ID sia un numero, quindi non ha bisogno di apici.

Edit:
Solo un consiglio: evita di scrivere più volte quando non ti stiamo rispondendo. Sicuramente, appena possiamo, rispondiamo indipendentemente dal numero di " up-posts".
 
Ultima modifica:

hackersatifal

Utente Attivo
9 Ago 2012
238
0
0
Ciao, prova a modificare questa query:
PHP:
$query="SELECT * FROM amici_temp WHERE username_proprietario = '" . $_SESSION['utente'] . "' && username_amico='".$_GET['id']."'";
Con:
PHP:
$query = "SELECT * FROM amici_temp WHERE username_proprietario = '" . $_SESSION['utente'] . "' && username_amico = " . $_GET['id'];

Suppongo che ID sia un numero, quindi non ha bisogno di apici.

Edit:
Solo un consiglio: evita di scrivere più volte quando non ti stiamo rispondendo. Sicuramente, appena possiamo, rispondiamo indipendentemente dal numero di " up-posts".

Id non ha valore di un numero, bensì di un nome. Comunque ho provato come mi hai detto tu e mi restituisce; "string(93) "SELECT * FROM amici_temp WHERE username_proprietario = 'pinco' && username_amico = pallo" Unknown column 'pallo' in 'where clause'"
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
ribadisco (SE LO SCRIPT CHE HAI POSTATO E'COMPLETO)
verifica la prima query che viene eseguita (quella prima del confirm) la prima volta che viene eseguita
il $_GET['id'] non è valorizzato quindi la query è monca, vedi commenti).
il $_GET['id'] si valorizza solo dopo che hai dato la conferma in quanto all'interno del
if (isset($_GET['user']) && isset($_GET['insert'])) {...}
alla riga
header("Refresh: 1; URL= profile2.php?id={$_SESSION['utente']}");

PHP:
<?php 
if(!isset($_SESSION)){session_start();}   
if(!isset($_SESSION['utente'])){   
    header("location: login2.php?azione=login");  
    exit();    
}
require_once "connessione.php"; 
if (isset($_GET['user']) && isset($_GET['insert'])) { 
    $query = "SELECT * FROM amici_temp   
                   WHERE username_proprietario = '" . $_SESSION['utente'] . "'   
                         && username_amico = '" . $_GET['user'] . "'"; 
var_dump($query);
    $result = mysql_query($query) or die(mysql_error()); 
    if (mysql_num_rows($result) == 0) { 
        $q = "INSERT INTO amici_temp (username_proprietario, username_amico)   
                 VALUES ('" . $_SESSION['utente'] . "', '" . $_GET['user'] . "')"; 
var_dump($q);
        $query = mysql_query($q); 
        $inviautente = mysql_query($query) or die(mysql_error()); 
        header("Refresh: 1; URL= profile2.php?id={$_SESSION['utente']}"); 
    } 
} 
/******* VERIFICA QUESTA QUERY********
LA PRIMA VOLTA CHE CHIAMI LO SCRIPT */
$query = "SELECT * FROM amici_temp
                   WHERE username_proprietario = '" . $_SESSION['utente'] . "'   
                         && username_amico = '" . $_GET['id'] . "'"; 
var_dump($query);
/*la prima volta da:
string(xy) "SELECT * FROM amici_temp WHERE username_proprietario = 'pinco' && username_amico = ''"

*/
$result = mysql_query($query) or die(mysql_error()); 
if (mysql_num_rows($result) == 0) { 
    echo "<a href=\"?insert&user=" . $_GET['id'] . "\" onclick=\"return(confirm('Sei sicuro di voler inoltrare la richiesta di amicizia?'))\">Aggiungi agli amici!</a>"; 
} else { 
    echo ""; 
} 
?>
 

hackersatifal

Utente Attivo
9 Ago 2012
238
0
0
L'id lo prendo dall'url dell'iframe che è pagina.php?id=...
Comunque le query sono tutte corrette e valorizzate correttamente.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
Ti prego borgo mi daresti una mano a capire la ragione dell'errore?
guarda che non sono un mago, ripartiamo da 0.
la pagina (guarda che gli do un nome a caso) dove hai lo script viene richiamata dentro un iframe (così almeno accenni) , giusto?
se si viene richiamata in questo modo?
PHP:
<!-- parte in cui valorizzi la variabile $qualcosa -->
<iframe name="pinco"
	   		src="accetta_amicizia.php?id=<?php echo $qualcosa; ?>"
	   		width="732px"
	   		height="418px"
	   		scrolling="auto"
	   		frameborder="0"
	   		align="top"
	   		marginwidth="0"
	   		marginheight="0"
	   		allowtransparency="true">
 </iframe>
intanto fammi sapere questo
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
altra domanda, perche nello script non vedo altro, visto che dici che i var_dump danno risultati giusti.
nella tabella amici_temp hai l'id int(12) not nul autotincrement primarykey ?
 
Discussioni simili
Autore Titolo Forum Risposte Data
V [MySQL] Errore di sintassi 1064 MySQL 5
T errore di sintassi sul db mysql MySQL 1
Jensen Errore di sintassi con DELETE PHP 3
C [RISOLTO][PHP] Errore di sintassi PHP 8
gandalf1959 Errore di sintassi? PHP 5
G Errore di sintassi PHP parentesi graffa PHP 1
garimpeiro Errore di sintassi si tenta di aggiornare file in formato dbf Programmazione 2
B Errore di sintassi sql MySQL 0
H [RISOLTO] Errore si sintassi sql MySQL 5
IImanuII Errore di sintassi PHP 10
P Errore nella sintassi SQL WordPress 0
Komix Errore sintassi SQL "UPDATE" in file PHP PHP 10
L Errore di sintassi in if PHP 6
A Errore di sintassi sulla query multipla in Ultradev Classic ASP 1
I Errore sintassi guestbook PHP 1
D errore sintassi INSERT INTO (80040e14) Classic ASP 1
A Errore di sintassi Classic ASP 1
grottafelix Errore di sintassi Classic ASP 1
K Inserimento query Errore 1366 PHP 4
F errore 1062 su campo nuovo MySQL 4
N Errore interno Access MS Access 2
R mi da errore dove inizia il while PHP 1
R Recupero di permalink di un sito che è stato eliminato per errore WordPress 5
R Yoast SEO errore semafori sempre rossi SEO e Posizionamento 0
S Visualizza l'errore di creazione in MSSQL Database 4
simgia Cordova errore quando cerco di emulare o creare la app Sviluppo app per Android 2
P Errore nell'indirizzo degli elementi HTML e CSS 2
H Errore su array associativo PHP 1
FDF182 ERRORE 1292 PHP 4
P errore 404 con javascript Javascript 2
felino Windows 7: errore 80072EFE su Windows Update Windows e Software 1
A errore http://datatables.net/tn/7 PHP 4
M Errore visualizzazione meta tag title e description SEO e Posizionamento 1
A Errore durante il salvataggio Photoshop 0
M Errore configurazione motion detection nvr Hikvision DS-7616 IP Cam e Videosorveglianza 0
voldemort [c] Errore di segmentazione (core dump creato) C/C++ 1
T SSD - errore sistema Hardware 2
R Navigare sito con cURL, mi restituisce errore PHP 0
L File CSV con app inventor da errore Sviluppo app per Android 2
A Errore visualizzazione selezione testo Photoshop 0
I Postman 400 Errore di richiesta non valida Programmazione 0
S Errore PHP - Notice: Undefined index ... PHP 14
U Campo vuoto data errore Fatal error: PHP 2
R Errore UPDATE tabella mysql PHP 1
R W10 Segnalazione di errore su terminale USB Windows e Software 0
G non riesco a capire quale sia l'errore [SQL] MySQL 2
I Errore 80040220 nella newsletter con paginazione Classic ASP 0
E Errore di lettura php in html PHP 8
A php metodo post jquery non da mai errore jQuery 4
W Errore di run-time di Microsoft VBScript error '800a0035' Impossibile trovare il file Classic ASP 0

Discussioni simili