[LatinaLUG] Problema con MySQL + PHP
Davide "DeMoN3" Angelini
demon3rock@gmail.com
Gio 13 Gen 2011 19:11:28 CET
Il giorno 13 gennaio 2011 18:59, Mirko <mirkos93@gmail.com> ha scritto:
> Ciao Davide,
> non ho ben capito cosa devi fare, puoi spiegare meglio?
> Il tuo codice è:
> $res = "update utenti set account='ciao';
> $res = mysql_query($res);
> print_r(mysql_affected_rows($res));
> ????
> Se è così, perché questa ripetizioni di variabili?
> Mirko
>
> Il 13 gennaio 2011 18:26, Davide "DeMoN3" Angelini
> <demon3rock@gmail.com> ha scritto:
> > Ragazzi, ho un problemino con mysql usato con php.
> >
> > Praticamente faccio una semplicissima query di update, oserei dire
> banale.
> > update utenti set account='ciao'
> > e la mando in esecuzione con $res=mysql_query($res).
> > Il problema è che $res, dopo questa operazione, vale 1 o_O
> > e se lo passo a mysql_affected_rows($res) mi dice
> > Warning: mysql_affected_rows(): supplied argument is not a valid
> MySQL-Link
> > resource
> > guardando il DB, però, le modifiche sono state fatte... (posso anche
> fare
> > in modo che modifichi + righe di codice e el modifica tutte, ma sempre 1
> > vale).
> > Non sò più dove sbattere la testa...faccio io qualche cazzata di cui non
> mi
> > rendo conto?
> > --
> >
> >
> > Davide Angelini
> >
>
$query="update tabella set campo='valore' where id='100'";
poi la eseguo
$res=mysql_query($query);
fino a qui tutto normale, la query viene eseguita e i valori sul DB cambiano
(quindi la connessione c'è)
ora, per vedere se la query è andata a buon fine, faccio un
if($res)
{
[istruzioni]
}
che però si comporta in modo anomalo.
Andando a scavare un pò,
ho fatto un
echo $res;
e questo mi restituisce sempre e comunque 1 o_O
poi faccio un
echo mysql_affected_rows($res);
ma il php mi avverte con
Warning: mysql_affected_rows(): supplied argument is not a valid MySQL-Link
resource
e anche se la query va male (ad esempio mettendo un id inesistente), $res è
sempre sempre sempre =1
ci sto diventando scemo, mysql_query, associata all'update, dovrebbe
restituire true o false a seconda se va bene o male e tramite
mysql_affected_rows dovrebbe dirmi quante righe son state modificate o_O
For other type of SQL statements, INSERT, UPDATE, DELETE, DROP, etc, *
mysql_query()* returns *TRUE* on success or *FALSE* on error.
Use mysql_affected_rows()<http://co.php.net/manual/en/function.mysql-affected-rows.php>
to
find out how many rows were affected by a DELETE, INSERT, REPLACE, or UPDATE
statement
In realtà faccio tutto annidato per non usare variabili inutili, era solo a
"scopo chiarificatore".
Il problema, comunque, non è la qualità del codice, ma il fatto che proprio
non funziona o_O
o mi son rincojonito io e devo andare in ferie?!?
--
Davide Angelini
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.linux.it/pipermail/latina/attachments/20110113/ee9f167a/attachment.htm>
Maggiori informazioni sulla lista
latina