2011-09-22 12 views
11

Così ho scritto prima (in php), ma ogni volta che provo echo $ test ", ottengo solo l'ID risorsa 5. Qualcuno sa come effettivamente stampare la query mysql dal ? variabileRisultato di stampa della query mysql dalla variabile

$dave= mysql_query("SELECT order_date, no_of_items, shipping_charge, SUM(total_order_amount) as test FROM `orders` WHERE DATE(`order_date`) = DATE(NOW()) GROUP BY DATE(`order_date`)") or die(mysql_error()); 
print $dave; 
+1

È necessario recuperare il set di risultati da '$ dave'. È semplicemente una risorsa risultato MySQL e non contiene righe di risultati. –

+2

Leggi il manuale (http://us.php.net/manual/en/function.mysql-query.php) per gli esempi. Oltre ai documenti ufficiali di PHP, Internet e SO sono davvero ricchi di esempi. –

+0

Grazie Michele. Mi sento facilmente sopraffatto quando provo qualcosa di nuovo con mysql/php. Apprezzo l'aiuto però da parte di tutti (e mi dispiace che ci sia voluto così tanto tempo per accettare una risposta) –

risposta

16

Questo stamperà la query:

$query = "SELECT order_date, no_of_items, shipping_charge, SUM(total_order_amount) as test FROM `orders` WHERE DATE(`order_date`) = DATE(NOW()) GROUP BY DATE(`order_date`)"; 

$dave= mysql_query($query) or die(mysql_error()); 
print $query; 

Questo stamperà i risultati:

$query = "SELECT order_date, no_of_items, shipping_charge, SUM(total_order_amount) as test FROM `orders` WHERE DATE(`order_date`) = DATE(NOW()) GROUP BY DATE(`order_date`)"; 

$dave= mysql_query($query) or die(mysql_error()); 

while($row = mysql_fetch_assoc($dave)){ 
    foreach($row as $cname => $cvalue){ 
     print "$cname: $cvalue\t"; 
    } 
    print "\r\n"; 
} 
+0

La cura di Downvoter è di commentare? –

+0

Nota che questo non è compatibile con PHP7. – user1097111

1

Da documenti PHP:

per Select, spettacolo, descrive, spiegare e altre dichiarazioni di ritorno di risultati, mysql_query() restituisce una risorsa in caso di successo, FALSE in errore

.

Per altri tipi di istruzioni SQL, INSERT, UPDATE, DELETE, DROP, ecc. mysql_query() restituisce TRUE in caso di esito positivo o FALSE in caso di errore.

La risorsa risultato restituito deve essere passata a mysql_fetch_array(), e altre funzioni per trattare le tabelle dei risultati, per accedere ai dati restituiti .

http://php.net/manual/en/function.mysql-query.php

5

ben si restituisce un array di oggetti dal database. quindi hai bisogno di qualcosa di simile.

$dave= mysql_query("SELECT order_date, no_of_items, shipping_charge, 
    SUM(total_order_amount) as test FROM `orders` 
    WHERE DATE(`order_date`) = DATE(NOW()) GROUP BY DATE(`order_date`)") 
    or die(mysql_error()); 


while ($row = mysql_fetch_assoc($dave)) { 
echo $row['order_date']; 
echo $row['no_of_items']; 
echo $row['shipping_charge']; 
echo $row['test ']; 
} 
0
$sql = "SELECT * FROM table_name ORDER BY ID DESC LIMIT 1"; 
$records = mysql_query($sql); 

è possibile modificare LIMIT 1 a LIMIT qualsiasi numero vuoi

Questo mostrerà per prima l'ultima riga INSERITA.

Problemi correlati