[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