- Home
- Categorie
- Coding e Sistemistica
- Coding
- La tabella non si aggiorna
-
Guardando bene la query, mi sono accorto che la , finale non era l'unico errore.
Prova cosi:
[php]
$query = "update rubrica set promotore='$promotore', nome_azienda='$nome_azienda', settore='$settore', città='$città', indirizzo='$indirizzo', nome_contatto='$nome_contatto', telefono='$telefono', email='$email', sede_estero='$sede_estero', azioni='$azioni', progressione='$progressione', risultato_finale='$risultato_finale', note='$note' where id='$id'";
[/php]
-
Di nuovo.... medesima risposta
-
Hai provato a stampare $id?
Perchè la sintassi ora è corretta, ma non trova un record con quell'id.
-
Perdonami, ma ho dei limiti nel PHP.
Cosa intendi per stampare $id ?
Capisco che si intenda un comando print ma in che modo devo scriverlo?
-
Devi semplicemente fare :
[php]
echo $id;
[/php]Dove c'è la query.
-
Ok ho aggiunto.
La risposta è quasi simile alla precedente7Modificati: 0 records
dove 7 sta per il numero di id che ho tentato di modificare ma naturalmnte 0 records sta per il numero dei records che ha modificato (cioè 0)
-
La sintassi della query è esatta, controlla che nella tabella ci sia un record avente come id 7.
-
Si c'è ...
-
Ti dirò che mi sembra impossibile.
Allora dopo la query aggiunti:
[php]
echo mysql_num_rows(mysql_query("SELECT id FROM rubrica where id='$id'"));
[/php]
Che numero stampa questa volta?
-
71Modificati: 0 records
se tolgo echo $id; la risposta è
1Modificati: 0 records
-
Allora, la cosa è strana, modifica questo:
[php]
$query = "update rubrica set promotore='$promotore', nome_azienda='$nome_azienda', settore='$settore', città='$città', indirizzo='$indirizzo', nome_contatto='$nome_contatto', telefono='$telefono', email='$email', sede_estero='$sede_estero', azioni='$azioni', progressione='$progressione', risultato_finale='$risultato_finale', note='$note' where id='$id'";
$dbResult = mysql_query($query, $db);
[/php]
In questo:
[php]
$query = "update rubrica set promotore='$promotore', nome_azienda='$nome_azienda', settore='$settore',città
='$città', indirizzo='$indirizzo', nome_contatto='$nome_contatto', telefono='$telefono', email='$email', sede_estero='$sede_estero', azioni='$azioni', progressione='$progressione', risultato_finale='$risultato_finale', note='$note' where id='$id'";
$dbResult = mysql_query($query, $db) or die(mysql_error());
[/php]
Vedi se da errore.
L'unica cosa che mi viene in mente è che puoi avere i magic_quotes impostati a off nel php.ini, e in uno dei campi mandi un ' modificando cosi la query, anche se non sono molto convinto che il problema può essere questo.Evita di chiamare i campi con caratteri accentati ed anche le variabili. Al posto di città usa citta, può dare effetti indesiderati.
-
Modificato come da tuoi suggerimenti ma la risposta è sempre
1Modificati: 0 recordsVuoi sapere una cosa carina?
Se agisco direttamente in myPHPadmin a modifico uno dei records, vedo la modifica nella tabella nella pagina PHP nel mio browsers.Quando poi tento di modificarla tramite questa "simpatica" pagina di modifica il risultato è che i records vengono cancellati...
Può esserti utile?
-
La cosa strana è che c'è il record con quell'id, infatti il mysql_num_rows che abbiamo fatto lo conferma, la query non dà errore ma non modifica nulla.
L'unica cosa che penserei in questo caso, è aver il nome di qualche campo che dià problemi.
Stampa la query con:
[php]
echo "update rubrica set promotore='$promotore', nome_azienda='$nome_azienda', settore='$settore',città
='$città', indirizzo='$indirizzo', nome_contatto='$nome_contatto', telefono='$telefono', email='$email', sede_estero='$sede_estero', azioni='$azioni', progressione='$progressione', risultato_finale='$risultato_finale', note='$note' where id='$id';
[/php]
E vedi lanciandola dal phpmyadmin che fà.Proverei a togliere anche dalla query la modifica del campo città, magari quella à da fastidio.
Oltre questo francamente non sò più che dirti, perchè non trovo un altra spiegazione logica.
-
Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /home/.........../............/............../................/modifica.php on line 93
Questo è ciò che ottengo ... naturalmente ho sostituito l'indirizzo completo con dei puntini per motivi di privacy ....
ho rimesso tutto come prima e ho cancellato i parametri del campo "città" e naturalmente ottengo la solita risposta
1Modificati: 0 records
Waaaaaaa!!!!
-
Si errore mio, dovevi fare:
[php]
echo "update rubrica set promotore='$promotore', nome_azienda='$nome_azienda', settore='$settore',città
='$città', indirizzo='$indirizzo', nome_contatto='$nome_contatto', telefono='$telefono', email='$email', sede_estero='$sede_estero', azioni='$azioni', progressione='$progressione', risultato_finale='$risultato_finale', note='$note' where id='$id'";
[/php]
-
update rubrica set promotore='', nome_azienda='', settore='',
città
='', indirizzo='', nome_contatto='', telefono='', email='', sede_estero='', azioni='', progressione='', risultato_finale='', note='' where id='7'1Errore:Query was emptyQuery was empty
-
Query was empty?
Puoi postare il codice completo, non vorrei che abbiamo fatto un pò di confusione con questi aggiungi qua e là.
La query stampata se la lanci dal phpmyadmin dice record modificati 0?
-
Ecco il codice completo
[php]<?
include ("config.inc.php");
include ("top_foot.inc.php");
//intestazione
top();
?>
<html><head>
<title>Modifica di un record</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><style type="text/css">
<!--
body,td,th {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
}
-->
</style>
</head>
<body>
<?php
$host = 'localhost' ;
$user = 'user' ;
$password = 'password' ;
$db_name = 'database';
$confirm=$_REQUEST['confirm'];
$id=$_REQUEST['id'];
$db = mysql_connect($host, $user, $password)
or die ("Impossibile connettersi al server $host");
mysql_select_db($db_name, $db)
or die ("Impossibile connettersi al database $db_name");
if (!$confirm)
{
$query = "select * from rubrica where id=$id";
$dbResult = mysql_query($query, $db);
$AffectedRows = mysql_affected_rows($db);
if ($AffectedRows==0)
{
print("<h3>Non esistono record con i criteri selezionati</h3>");
}
else
{
mysql_data_seek($dbResult,0);
$row=mysql_fetch_row($dbResult);
print("<table>");
print("<form method="post"action="{$_SERVER['PHP_SELF']}">");
foreach ($row as $k => $v)
{
$myfield = mysql_fetch_field($dbResult,$k);
print("<tr><td>$myfield->name</td>");
print("<td><input type="text" value="" . $v . "" name="" . $myfield->name . "" size="100" maxlenght="100"></td></tr>");
}
print("<tr><td colspan="2"><input type="submit" value="Conferma modifiche"></td></tr> ");
print("<input type="hidden" name="confirm" value="1">");
print("</form>");
print("</table>");
mysql_free_result($dbResult);
mysql_close($db);
}
}
else
{
$promotore=$_REQUEST['promotore'];
$nome_azienda=$_REQUEST['nome_azienda'];
$settore=$_REQUEST['settore'];
$città=$_REQUEST['città'];
$indirizzo=$_REQUEST['indirizzo'];
$nome_contatto=$_REQUEST['nome_contatto'];
$telefono=$_REQUEST['telefono'];
$email=$_REQUEST['email'];
$sede_estero=$_REQUEST['sede_estero'];
$azioni=$_REQUEST['azioni'];
$progressione=$_REQUEST['progressione'];
$risultato_finale=$_REQUEST['risultato_finale'];
$note=$_REQUEST['note'];echo "update rubrica set promotore='$promotore', nome_azienda='$nome_azienda', settore='$settore',
città
='$città', indirizzo='$indirizzo', nome_contatto='$nome_contatto', telefono='$telefono', email='$email', sede_estero='$sede_estero', azioni='$azioni', progressione='$progressione', risultato_finale='$risultato_finale', note='$note' where id='$id'";echo mysql_num_rows(mysql_query("SELECT id FROM rubrica where id='$id'"));
if(mysql_query($query)== true)
{
echo "Modificati: ",mysql_affected_rows(), " records";
}
else
{
echo "Errore:" . mysql_error();
}
$dbResult = mysql_query($query, $db) or die(mysql_error());
$AffectedRows = mysql_affected_rows($db);if ($AffectedRows!=1)
{
print("<h3>Il record è stato aggiornato</h3>");
print("<a href="query.php"><img src="http://www.giorgiotave.it/forum/images/vedi.jpg" border="0"></a><br><br><br>");
print("<a href="logout.php"><img src="http://www.giorgiotave.it/forum/images/logout.jpg" border="0"></a>");
}
mysql_close($db);
}
?>
</body>
</html>
[/php]e scusa la mia beata ignoranza
ma come si fa a lanciare da PHPMyAdmin?
-
Apri il phpmyadmin, selezioni il database da sinistra, al centro in alto trovi SQL, li incolli quella query e fai esegui.
EDIT:
Non ho controllato tutto ciò che c'è prima, visto che la query la stampa si spera corretta, se hai provato a mettere ovunque i campi vuoti.
Ti sei perso una variabile durante le modifiche fai cosi:
[php]
<?
include ("config.inc.php");
include ("top_foot.inc.php");
//intestazione
top();
?>
<html><head>
<title>Modifica di un record</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><style type="text/css">
<!--
body,td,th {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
}
-->
</style>
</head>
<body>
<?php
$host = 'localhost' ;
$user = 'user' ;
$password = 'password' ;
$db_name = 'database';
$confirm=$_REQUEST['confirm'];
$id=$_REQUEST['id'];
$db = mysql_connect($host, $user, $password)
or die ("Impossibile connettersi al server $host");
mysql_select_db($db_name, $db)
or die ("Impossibile connettersi al database $db_name");
if (!$confirm)
{
$query = "select * from rubrica where id=$id";
$dbResult = mysql_query($query, $db);
$AffectedRows = mysql_affected_rows($db);
if ($AffectedRows==0)
{
print("<h3>Non esistono record con i criteri selezionati</h3>");
}
else
{
mysql_data_seek($dbResult,0);
$row=mysql_fetch_row($dbResult);
print("<table>");
print("<form method="post"action="{$_SERVER['PHP_SELF']}">");
foreach ($row as $k => $v)
{
$myfield = mysql_fetch_field($dbResult,$k);
print("<tr><td>$myfield->name</td>");
print("<td><input type="text" value="" . $v . "" name="" . $myfield->name . "" size="100" maxlenght="100"></td></tr>");
}
print("<tr><td colspan="2"><input type="submit" value="Conferma modifiche"></td></tr> ");
print("<input type="hidden" name="confirm" value="1">");
print("</form>");
print("</table>");
mysql_free_result($dbResult);
mysql_close($db);
}
}
else
{
$promotore=$_REQUEST['promotore'];
$nome_azienda=$_REQUEST['nome_azienda'];
$settore=$_REQUEST['settore'];
$città=$_REQUEST['città'];
$indirizzo=$_REQUEST['indirizzo'];
$nome_contatto=$_REQUEST['nome_contatto'];
$telefono=$_REQUEST['telefono'];
$email=$_REQUEST['email'];
$sede_estero=$_REQUEST['sede_estero'];
$azioni=$_REQUEST['azioni'];
$progressione=$_REQUEST['progressione'];
$risultato_finale=$_REQUEST['risultato_finale'];
$note=$_REQUEST['note'];echo "update rubrica set promotore='$promotore', nome_azienda='$nome_azienda', settore='$settore',
città
='$città', indirizzo='$indirizzo', nome_contatto='$nome_contatto', telefono='$telefono', email='$email', sede_estero='$sede_estero', azioni='$azioni', progressione='$progressione', risultato_finale='$risultato_finale', note='$note' where id='$id'";echo mysql_num_rows(mysql_query("SELECT id FROM rubrica where id='$id'"));
$query = "update rubrica set promotore='$promotore', nome_azienda='$nome_azienda', settore='$settore',città
='$città', indirizzo='$indirizzo', nome_contatto='$nome_contatto', telefono='$telefono', email='$email', sede_estero='$sede_estero', azioni='$azioni', progressione='$progressione', risultato_finale='$risultato_finale', note='$note' where id='$id'";if(mysql_query($query)== true)
{
echo "Modificati: ",mysql_affected_rows(), " records";
}
else
{
echo "Errore:" . mysql_error();
}
$dbResult = mysql_query($query, $db) or die(mysql_error());
$AffectedRows = mysql_affected_rows($db);if ($AffectedRows!=1)
{
print("<h3>Il record è stato aggiornato</h3>");
print("<a href="query.php"><img src="http://www.giorgiotave.it/forum/images/vedi.jpg" border="0"></a><br><br><br>");
print("<a href="logout.php"><img src="http://www.giorgiotave.it/forum/images/logout.jpg" border="0"></a>");
}
mysql_close($db);
}
?>
</body>
</html>
[/php]
-
update rubrica set promotore='', nome_azienda='', settore='',
città
='', indirizzo='', nome_contatto='', telefono='', email='', sede_estero='', azioni='', progressione='', risultato_finale='', note='' where id='7'1Modificati: 0 recordsIo non ce la faccio più ... e tu credo anche
sto seriamente meditando di picchiare la testa su uno spigolo ...