[PHP] Problema con QUERY UPDATE

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Avatar utente
Dando_Sando
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 296
Iscrizione: mercoledì 6 settembre 2006, 20:00
Località: Umbria
Contatti:

[PHP] Problema con QUERY UPDATE

Messaggio da Dando_Sando »

Codice: Seleziona tutto

<?php
$titolo=$_POST['titolo'];
$testo=$_POST['corpo'];
$data=date("Y-m-d H:i:s");
$modifica=$_GET['required'];

if($_SESSION['name'] AND $modifica) {

if($data AND $testo AND $titolo) {
$connect=mysql_connect('localhost','nome_user','password_user') or die ("Connessione al database non riuscita");
mysql_select_db('prova',$connect) or die ("Connessione al database non riuscita");
 
mysql_query("UPDATE post SET tiolo_post='$titolo', corpo_post='$testo', data_post='$data' WHERE id_post='$modifica'") or die ("Errore nell'inserimento");
//print $titolo . $testo . $data . "<br />" . $modifica;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/XHTML1/DTD/XHTML1-strict.dtd">  
<html>
<body>
		<?php
			$connect=mysql_connect('localhost','nome_user','password_user') or die ("Connessione al database non riuscita");
			mysql_select_db('prova',$connect) or die ("Connessione al database non riuscita");
			$query=mysql_query("SELECT titolo_post,corpo_post FROM post WHERE id_post='$modifica'");
		?>  
  
  <div id="blog">
  <h2>Modifica un articolo</h2>
  <form method="post" action="<?php $_SERVER['PHP_SELF'] ?>">
      <hr/>
      Titolo
	  <br />
	  <input type="text" name="titolo" size="50" value="<?php while ($riga=mysql_fetch_array($query)) {
	  		print $riga['titolo_post']; ?>" />
      <br /><br />
      Contenuto
	  <br />
      <textarea name="corpo" rows="20" cols="80"><?php	print $riga['corpo_post'];
			break;
	  	}?></textarea>
      <br />
      <input type="submit" value="Pubblica" />
	  <input type="reset" value="Cancella" />
  </form>
  </div>
</body>
</html>
Eseguendo questo script ottengo sempre Errore nell'inserimento.
Se invece decommento:

Codice: Seleziona tutto

//print $titolo . $testo . $data . "<br>" . $modifica;
i valori vengono stampati correttamente a video, quindi non credo sia un problema del form.

Potete aiutarmi?
Ultima modifica di Dando_Sando il mercoledì 5 marzo 2008, 17:57, modificato 1 volta in totale.
nulll
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 853
Iscrizione: giovedì 7 settembre 2006, 12:29

Re: [PHP] Problema con QUERY UPDATE

Messaggio da nulll »

posta l'errore...

cmq così a naso è che ti sei dimenticato l'escape sui testi nella query
Avatar utente
Dando_Sando
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 296
Iscrizione: mercoledì 6 settembre 2006, 20:00
Località: Umbria
Contatti:

Re: [PHP] Problema con QUERY UPDATE

Messaggio da Dando_Sando »

Perchè l'escape?
Non ti ho capito.
Avatar utente
Dando_Sando
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 296
Iscrizione: mercoledì 6 settembre 2006, 20:00
Località: Umbria
Contatti:

Re: [PHP] Problema con QUERY UPDATE

Messaggio da Dando_Sando »

Scusate, ho risolto.
Era un errore banalissimo.... :-[
:(
nulll
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 853
Iscrizione: giovedì 7 settembre 2006, 12:29

Re: [PHP] Problema con QUERY UPDATE

Messaggio da nulll »

se posti l'errore è più facile capire...posta l'errore plz!

cmq prova a sostuire

Codice: Seleziona tutto

mysql_query("UPDATE post SET tiolo_post='".mysql_escape_string($titolo)."', corpo_post='".mysql_escape_string($testo)."', data_post='".mysql_escape_string($data)."' WHERE id_post='".mysql_escape_string($modifica)."'") or die ([b]mysql_error()[/b]);
questo perchè una query simile

Codice: Seleziona tutto

UPDATE post SET titolo = 'Quest'era il mio titolo' WHERE id = 1 
la query è errata perchè i due apici attorno al testo sono rotti da un apice nel testo stesso

'Quest'era il mio titolo'

ovviamente sto solo ipotizzando visto che non posso sapere che errore ti da se non lo leggo!
Avatar utente
Dando_Sando
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 296
Iscrizione: mercoledì 6 settembre 2006, 20:00
Località: Umbria
Contatti:

Re: [PHP] Problema con QUERY UPDATE

Messaggio da Dando_Sando »

nulll ha scritto: se posti l'errore è più facile capire...posta l'errore plz!

cmq prova a sostuire

Codice: Seleziona tutto

mysql_query("UPDATE post SET tiolo_post='".mysql_escape_string($titolo)."', corpo_post='".mysql_escape_string($testo)."', data_post='".mysql_escape_string($data)."' WHERE id_post='".mysql_escape_string($modifica)."'") or die ([b]mysql_error()[/b]);
questo perchè una query simile

Codice: Seleziona tutto

UPDATE post SET titolo = 'Quest'era il mio titolo' WHERE id = 1 
la query è errata perchè i due apici attorno al testo sono rotti da un apice nel testo stesso

'Quest'era il mio titolo'

ovviamente sto solo ipotizzando visto che non posso sapere che errore ti da se non lo leggo!
Grazie per l'interessamento, ma l'errore era molto più banale, se il campo della tabella si chiama titolo_post ed io nella query lo sostituisco con tiolo_post non potrà mai funzionare.... :-[
Che vergogna!!!
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 3 ospiti