乘法

2011-12-16 43 views
3

我希望能夠通過10乘法

乘以所有例如價格從我的數據庫,然後乘以總下面的代碼做加法而不是相乘

<?php 
$d = $_GET['d']; 
$con = mysql_connect("localhost","username","password"); 
if (!$con) 
    { 
    die('Could not connect: ' . mysql_error()); 
    } 
mysql_select_db("databasename", $con);// 

$sql= "SELECT SUM(prices) FROM tablename WHERE Date = '$d' AND Prices >0.20 AND Type= 'sold'"; 
$results = mysql_query($sql); 
$row = mysql_fetch_array($results); 
echo $row[0]*10; 


mysql_close($con); 
?> 

例如

id prices 
1 25 
2 36 
3 45 

即我想25 * 36 * 45 * 10和25未+ 36 + 45 * 10

ħ任何人都可以幫忙

+0

選擇4 * 5 AS'測試「或SELECT col1 * col2 AS'test' – djot 2011-12-16 19:29:37

+0

此外,爲了安全起見,您需要轉義變量$ d以防止sql注入。 `$ d = mysql_real_escape_string($ _ GET ['d']);` – dchrastil 2011-12-16 19:41:28

+0

mysql沒有array_product – ajreal 2011-12-16 19:45:24

回答

6

這會工作,但有限制(編號應該是唯一的正數):

SELECT 10 * EXP(SUM(LOG(prices))) AS result 
FROM tablename 
WHERE ... 

的日Thnx應該去Napier和他的奇妙發明,logarithms

-1

它怎麼不乘法?你得到0?你得到一個錯誤?

您可以在數據庫中做的就是,記得

10 x (a + b + c + ...) 

是完全一樣的

10a + 10b + 10c + ... 

所以,你可以簡單地做

SELECT 10*SUM(prices) from ... 

SELECT SUM(10*prices) from ... 

但是,我注意到你沒有任何錯誤處理。如果你的查詢失敗了,mysql_query()會返回一個布爾值false,然後你嘗試去讀取一行,這也會返回一個布爾值false。

布爾值false然後將在$行中,並將其用作數組,這意味着$ row [0]將是一個php NULL。 NULL * 10是整數0

更改您的查詢電話是以下幾點:

$results = mysql_query($sql) or die(mysql_error()); 

,看看彈出。