Errore sintassi SQL "UPDATE" in file PHP

Komix

Nuovo Utente
18 Mar 2012
8
0
0
Salve, eccomi col secondo post, allora... ho fatto uno script che, richiama una funzione che deve eseguire una query mysql, per la precisione UPDATE, però è un pomeriggio che non fa che restituirmi appunto l'errore di sintassi, che di solito appunto mi indica che la stessa query l'ho scritta sbagliata, ho provato a modificarla in mille modi ma c'è sempre un errore nella sintassi...
così è come ho scritto la query :

PHP:
$query = "UPDATE pagine SET nome_pagina='$titolo', cont_pagina='$contenuto' WHERE id='$id'";

questa è la funzione per intero :
PHP:
function EditPage($id,$titolo,$contenuto) {
	$query = "UPDATE pagine SET nome_pagina='$titolo', cont_pagina='$contenuto' WHERE id='$id'";
	$ris = mysql_query($query);
	if(!$ris) {
		echo "<br>Non sono riuscito a modificare la pagina<br>".mysql_error()."<br><br><a href=\"cpanel.php\">TORNA INDIETRO<a>";
		} else {
		header("Location : cpanel.php");
		}
		
	
	}

E questa è la funzione richiamata da una pagina :

PHP:
EditPage($_GET['id'], $_POST['titolo_pagina'], $_POST['cont']);

Non riesco a capire cosa c'è che non va, ci sbatto la testa da un giorno e davvero non mi ha mai creato tutti questi problemi una semplice sintassi UPDATE
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
metti dei var_dump (questo sconosciuto, utilissimo nel debug)

PHP:
<?php
function EditPage($id,$titolo,$contenuto) {
    var_dump($id);
	var_dump($titolo);
	var_dump($contenuto);
	$query = "UPDATE pagine SET nome_pagina='$titolo', cont_pagina='$contenuto' WHERE id='$id'";
	var_dump($query);
    $ris = mysql_query($query);
	//....
?>
coi primi tre vedi se i valori vengono effettivamente trasmssi e come, con l'ultimo (se primi tre ok) vedi se la querry viene effettivamente scritta come dovrebbe

cosi ad occhio non vedo errori di sintassi
altra cosa verifica esatta corrispondenza tra nomi nella query e quelli dei campi della tabella (anche maiuscole/minuscole)
 

Komix

Nuovo Utente
18 Mar 2012
8
0
0
Le stringhe ci sono e vengono passate...i nomi delle tabelle corrispondono a quelli della query... davvero non so cosa sia...
 

Komix

Nuovo Utente
18 Mar 2012
8
0
0
Ho fatto uno screen così puoi vedere :

Immagine.png
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
vedo molti caratteri strani nel testo, fai una prova così

PHP:
function EditPage($id,$titolo,$contenuto) { 
    $titolo=htmlspecialchars($titolo);
	$contenuto=htmlspecialchars($contenuto);
	$query = "UPDATE pagine SET nome_pagina='$titolo', cont_pagina='$contenuto' WHERE id='$id'"; 
    $ris = mysql_query($query); 
    if(!$ris) { 
        echo "<br>Non sono riuscito a modificare la pagina<br>".mysql_error()."<br><br><a href=\"cpanel.php\">TORNA INDIETRO<a>"; 
//......
 

Komix

Nuovo Utente
18 Mar 2012
8
0
0
Ok adesso la query va... GRAZIE :D
c'è solo una cosa, non funziona il redirect :S
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
c'è solo una cosa, non funziona il redirect :S
probabilmente hau un qualche output html prima di hesder, header deve essere la prima istruzione, se non possibile prova a mettere alla prima riga

PHP:
<?php
ob_start();//sulla prima
//tutto il resto php e/o html

ob_end_flush();//sull'ultima
?>
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
24
Roma
alessandro1997.netsons.org
Il problema era probabilmente quell'apice in uno dei campi da aggiornare. Applica addslashes alle variabili che inserisci nel database:
PHP:
<?php
$testo = "[...] molte anzi tempo all'Orco, generose travolse alme d'eroi [...].";

$testo = addslashes($testo);

// [...] molte anzi tempo all\'Orco, generose travolse alme d\'eroi [...].
echo $testo;

$testo = stripslashes($testo);

// [...] molte anzi tempo all'Orco, generose travolse alme d'eroi [...].
echo $testo;
?>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
Il problema era probabilmente quell'apice in uno dei campi da aggiornare. Applica addslashes alle variabili che inserisci nel database:
PHP:
<?php
$testo = "[...] molte anzi tempo all'Orco, generose travolse alme d'eroi [...].";

$testo = addslashes($testo);

// [...] molte anzi tempo all\'Orco, generose travolse alme d\'eroi [...].
echo $testo;

$testo = stripslashes($testo);

// [...] molte anzi tempo all'Orco, generose travolse alme d'eroi [...].
echo $testo;
?>
mi spieghi cosa c/'entra il "pelato achille"?
 
Discussioni simili
Autore Titolo Forum Risposte Data
B Errore di sintassi sql MySQL 0
H [RISOLTO] Errore si sintassi sql MySQL 5
P Errore nella sintassi SQL WordPress 0
C [RISOLTO][PHP] Errore di sintassi PHP 8
V [MySQL] Errore di sintassi 1064 MySQL 5
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
IImanuII Errore di sintassi PHP 10
H Errore di sintassi mysql? PHP 23
T errore di sintassi sul db mysql MySQL 1
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
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
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
B Errore unexpected '$variabile' (T_VARIABLE) in your code on line PHP 2
M errore dopo passaggio Php 7.2 PHP 6
S -> Errore PHP 8
S Errore "ftp_put(): Can't open that file: Permission denied" PHP 1
P Errore telecamere hdcvi dahua IP Cam e Videosorveglianza 16
L form multipla php sql,errore in inserimento MySQL 0
M Errore JavaScript per php [objeto HTMLParagraphElement] PHP 0
F [PHP]Errore registrazione PHP 8
MarcoGrazia [PHP] Download di file con errore all'interno. PHP 1
V [ORACLE] Errore ora-06512 at sys.utl_file Oracle 0
A [WordPress] Errore Plugin WordPress 0
P [WordPress] Messaggio di errore in file style.css WordPress 0
G [Javascript] Errore inserimento dati Backend Node.js e workbench Javascript 1
M [PHP] WS-Security errore PHP 0

Discussioni simili