2011-09-22 37 views
11

Napisałem to wcześniej (w php), ale za każdym razem, gdy próbuję echo $ test ", po prostu wracam id zasobu 5. Czy ktoś wie jak właściwie wydrukować zapytanie mysql od ? zmiennaWynik drukowania zapytania mysql ze zmiennej

$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

Musisz pobrać zestaw wyników z '$ dave'. Jest to po prostu zasób wynikowy MySQL i nie zawiera wierszy wyników. –

+2

Przeczytaj instrukcję (http://us.php.net/manual/en/function.mysql-query.php) dla przykładów. Poza oficjalnymi dokumentami PHP, Internet i SO są wypełnione pozytywnymi przykładami. –

+0

Dzięki Michael. Często próbuję czegoś nowego przy pomocy mysql/php. Doceniam pomoc ze strony wszystkich osób (i przykro było, że zajęło mi to tyle czasu, aby zaakceptować odpowiedź). –

Odpowiedz

16

To będzie wydrukować zapytanie:

$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; 

To będzie wydrukować wyniki:

$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

Obuźniejsza opieka nad komentarzem? –

+0

Należy zauważyć, że nie jest to zgodne z PHP7. – user1097111

1

z pHP docs:

dla wybranych, pokazać, opisać, wyjaśnić i innych sprawozdań powracających resultset, mysql_query() zwraca zasób w przypadku sukcesu lub FALSE w błędu

.

W przypadku innych typów instrukcji SQL: INSERT, UPDATE, DELETE, DROP, itp., mysql_query() zwraca TRUE w przypadku sukcesu lub FALSE w przypadku błędu.

Zwrócony zasób wyniku powinien zostać przekazany do mysql_fetch_array(), i innych funkcji do obsługi tabel wyników, aby uzyskać dostęp do zwróconych danych .

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

5

dobrze wracają tablicy elementów z bazy danych. więc potrzebujesz czegoś takiego.

$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); 

można zmienić LIMIT 1 do LIMIT dowolny numer chcesz

Ten widok pokaże ostatnio ostatni INSERTED wiersz.