errore aggiornamento tabella mysql

prova cosi':
PHP:
<?php

$dbhost = 'localhost'; 
$dbuser = 'user'; 
$dbpass = 'pass'; 
$dbname = 'name'; 
$connessione = mysql_connect("localhost","user","pass") 
or die("Impossibile connettersi al server host"); 
mysql_select_db(name, $connessione) or die 
("Impossibile selezionare il database.");

$query = "UPDATE tabella1 SET campo1='$variabile1'  WHERE campo1='1'";
mysql_close($connessione);

?>
 
prova cosi':
PHP:
<?php

$dbhost = 'localhost'; 
$dbuser = 'user'; 
$dbpass = 'pass'; 
$dbname = 'name'; 
$connessione = mysql_connect("localhost","user","pass") 
or die("Impossibile connettersi al server host"); 
mysql_select_db(name, $connessione) or die 
("Impossibile selezionare il database.");

$query = "UPDATE tabella1 SET campo1='$variabile1'  WHERE campo1='1'";
mysql_close($connessione);

?>




Ma where campo1=1


=1 cosa sta ad indentificare?
 
Funziona?
1 è il vecchio valore del campo.
Avevi un altro valore? sostituiscilo con 150 che dovrebbe
essere l'ultimo valore che hai.
$query = "UPDATE tabella1 SET campo1='$variabile1' WHERE campo1='150'";
 
Funziona?
1 è il vecchio valore del campo.
Avevi un altro valore? sostituiscilo con 150 che dovrebbe essere l'ultimo valore che hai.



No, ho provato e il valore dell'eco resta 1, strano perchè prima quando mi avevi postato il codice precedente era cambiato! ma solo una volta, perchè poi riaggiornando cambiando la variabile il valore resta sempre quello.


Ti devo dire però che nella Tabella1 ho la bellezza di 64 campi, ovviamente ognuno di questi chiamato campo_0, campo_1, campo_2 ecc ecc


può essere questo?
 
Ma scusa non avevi detto di avere una tabella avente all'interno campo e basta?
Tu hai un discorso di questo tipo?

tabella1
--campo_0
--campo_1

etc etc sino a 64?
 
Ultima modifica:
Ma scusa non avevi detto di avere una tabella avente all'interno campo e basta?
Tu hai un discorso di questo tipo?

tabella1
campo_0
campo_1

etc etc sino a 64?



per ore ne ho sole 3, se funziona lo farò su un altro db che ne ha 64


Per ora ne ho 3 ;)


cmq non va, il valore resta sempre quello. se funziona ho risolto tutti i miei problemi!


ps: prima ha funzionato ma non mi ricordo che modifica abbiamo fatto
 
prima quando?
Evidentemente quando abbiamo dato lo stesso valore poichè era l'unica query di Update corretta!
 
Ultima modifica:
Guarda la cosa dovrebbe essere semplicissima:

Questa è una query di INSERT:
PHP:
$sql = mysql_query("INSERT INTO tabella1 (campo1) VALUES (1)") ;
Questa è una query di UPDATE:
PHP:
$query = "UPDATE tabella1 SET campo1='$variabile1' WHERE campo1=''$variabile1";

Sostituisci con queste query e dovrebbe funzionare.
 
Bene l'insert funziona, infatti anche se il campo è vuoto inserisce il valore


riepilogando

<?php

$dbhost = 'localhost';
$dbuser = 'user';
$dbpass = 'pass';
$dbname = 'name';
$connessione = mysql_connect("localhost","user","pass")
or die("Impossibile connettersi al server host");
mysql_select_db(name, $connessione) or die
("Impossibile selezionare il database.");

$sql = mysql_query("INSERT INTO tabella1 (campo1) VALUES (1)") ;
$query = "UPDATE tabella1 SET campo1='$variabile1' WHERE campo1=''$variabile1";

mysql_close($connessione);

?>



Praticamente inserisce i valori ma non li aggiorna. eseguendo un refresh infatti i valori si duplicano, esempio se la variabile è 10


dopo 3/4 refresh = 10101010



mi sto esaurendo grazie mille per la pazienza (ce ne vuole molta con me)
 
Ma ovvio, non puoi fare una query di insert e una di Upload contemporanemante.

PHP:
<?php

$dbhost = 'localhost';
$dbuser = 'user';
$dbpass = 'pass';
$dbname = 'name';
$connessione = mysql_connect("localhost","user","pass")
or die("Impossibile connettersi al server host");
mysql_select_db(name, $connessione) or die
("Impossibile selezionare il database.");

// Qua bisogna mandargli il valore da un form con Campo di input.
$variabile1=$_POST['campo1'];

// Qui scrivi i dati nel db
$sql = mysql_query("INSERT INTO tabella1 (campo1) VALUES ($variabile1)") ;

// Qua gli dici che se $variabile1 è diversa da nulla 
// ovvero se non è vuota fai fare l'upload
// Altrimenti gli dici di scrivere qualcosa.

if($variabile!=""){
  $query = "UPDATE tabella1 
               SET campo1='$variabile1' 
               WHERE campo1=''$variabile1";
   }else{
      echo"scrivere un valore da aggiornare";
}
mysql_close($connessione);

?>
 
Guarda sei stato gentilissimo, ma non funziona. dello script funziona solo la funzione insert, cioè inserisce il valore.

la funzione update non funziona, il valore resta quello, anzi se non metto // davanti alla sql insert, continua ad inserire i valori, quindi si triplicano.


può essere il mio database? è su aruba. ho detto tutto


grazie lo stesso ma ci sto rinunciando. eppure sembrava semplice
 
quello che non mi faccio però è perchè con l'isert, il dato viene inserito correttamente, mentre con update non cambia nulla


situazione veramente assurda
 
Ciao.
Ecco qua.
l'ho provato e funziona.

Form HTML
PHP:
<form action="scrivi.php" method="post">
 Scrivi:
 <input type="text" name="scrivi" />
 <input type="submit" value="scrivi" />
</form>
<form action="aggiorna.php" method="post">
 Aggiorna:
 <input type="text" name="aggiorna" />
 <input type="submit" value="aggiorna" />
</form>

File config.php per la conessione al db
PHP:
<?php
$host = "localhost";
$user = "user2";
$pass = "pass";
$db = "creaocom_db";
$connessione = @mysql_connect($host, $user, $pass) or die (mysql_error());
@mysql_select_db($db) or die (mysql_error());
?>

File scrivi.php per scrivere il dato
PHP:
<?php
 include 'config.php';
 $variabile1=$_POST['scrivi'];
 $sql = mysql_query("INSERT INTO tabella1 (campo1) VALUES ('$variabile1')") ;
 echo"Dato scritto";
?>

File aggiorna.php per aggiornare il dato.

PHP:
<?php
 include 'config.php';
 $variabile1=$_POST['aggiorna'];
 $query = mysql_query( "UPDATE `tabella1` SET `campo1`= '$variabile1' WHERE 1");
 echo"Dato Sostituito";
?>
 
Semplicemente fantastico!!!! funziona :evil::evil::evil:

Grandissimo altro che helpdesk sei un mago :fonzie:



Ora l'ho utilizzato praticamente su tutte le le tabelle e funziona :)


una cosa ti volevo chiedere, molte delle variabili si caricano, ma c'è qualcuna che non viene scritta, tipo tutte quelle che emettono dei valori numerici si, ma questa che contiene una o piu lettere a stampatello no, sarà mica il tipo "varchar" ?
 
Niente anche mettendo text non va, si tratta di singoli valori esempio L, P, quindi singole lettere maiuscole


confermo che i numeri numerici e decimali si aggiornano senza problemi
 
Aspetta rileggendo bene cosa intendi?
non ti scrive un testo tipo CIAO?



praticamente si, anche mettendo CIAO al posto di =$variabile1 non lo scrive, quindi presumo che i caratteri non vengono scritti. cosa ben diversa dai dati numerici. Mi manca solo questo ;)


ps: sono convinto che sia qualche parametro da settare nel campo, magari collation o qualcos'altro
 

Discussioni simili