[Tech] query mysql in php

Aldo Podavini a.podavini@mclink.it
Lun 15 Mar 2010 11:33:54 CET


On 15/03/2010 11.12, Valerio Montagnani wrote:
> Ciao a tutti.
>
> vorrei fare una query a un db mysql di questo tipo:
>
> select max(id) nome_tabella from nome_archivio
>
> in sql mi restituisce la risposta giusta, mentre se faccio la query in
> php ottengo come risposta resource id #5.
>
> come posso fare ad ottenere il risultato giusto?
> query usata:
>
> $result = @mysql_query('SELECT '.$query.' FROM '.$nameDB.';') 
> 	or die("Error #".mysql_errno().": ".mysql_error());
>
> dove $query="max(id)";
>
> Grazie, vale
>
>   

Tutto molto pasticciato...
La sintassi della SELECT č:

SELECT <lista-campi> FROM <nome-tabella>;
Es.: SELECT max(id) FROM TABELLA1;

il nome del DB quindi non c'entra.
Al limite puņ essere usato per qualificare nome-tabella:

SELECT <lista-campi> FROM <nome-DB>.<nome-tabella>;
Es.: SELECT max(id) FROM DBPIPPO.TABELLA1;

In PHP funziona esattamente alla stessa maniera, perņ devi fare la fetch
del risultato, cosa che dal tuo esempio pare tu non faccia;
Inoltre devi stare attento al nome con cui accedi al campo, in questo
caso essendo un valore di riepilogo converrebbe dargli un alias:

$result = mysql_query("SELECT max(id) as MAXID from TABELLA1") or
die("Error #".mysql_errno().": ".mysql_error() );
$row = mysql_fetch_array($result,MYSQL_ASSOC);
$MAXID = $row['MAXID'];

Comunque, queste cose sono spiegate assai bene sulla documentazione
online di PHP.

Aldo




Maggiori informazioni sulla lista flug-tech