2017-06-19 135 views
-3

我有一個SUM查詢沒有返回正確的值。 它返回1,不是值mysql SUM沒有給出正確的值

有2項在表中都具有amount列值200 所以SUM應該返回400 ..沒有1

我的查詢低於

謝謝

$owtbdq = mysqli_query($con,"SELECT * FROM `crm`.`workshop-otherwork` WHERE `wsjid` = '$wsjid'"); 
     $owtbdr = mysqli_fetch_assoc($owtbdq); 
     $owtbdc = mysqli_query($con,"SELECT SUM(amount) FROM `crm`.`workshop-otherwork` WHERE `wsjid` = '$wsjid'"); 
     $owtbdcount = mysqli_fetch_assoc($owtbdc); 

我也試了一下沒有`周圍量和相同的結果

我剛纔在HeidiSQL跑

SELECT SUM(amount) FROM `crm`.`workshop-otherwork` WHERE `wsjid` = '4' 

,並正確地返回400所以還沒有一個線索

+0

SELECT SUM(量)FROM crm.workshop-otherwork WHERE wsjid = $ wsjid。在phpmyadmin上直接運行它並查看結果 –

+0

這就是爲什麼應該使用有意義的變量名稱。 – NathanOliver

+1

名稱是有意義的我 $ owtbd =做其他工作 $ wtbd =工作要做 僅僅因爲你不知道他們的意思並不意味着自己或其他人在我公司犯規 –

回答

-2

打印一個var_dump(),我猜你得到一個資源鏈接。 您的查詢是正確的,而不是您的PHP代碼。

編輯:對不起,它返回一個標識 - >http://php.net/mysqli_fetch_assoc

$owtbdc = mysqli_query($con,"SELECT SUM(amount) FROM `crm`.`workshop-otherwork` WHERE `wsjid` = '$wsjid'"); 

if ($owtbdcount = mysqli_fetch_array($owtbdc)) { 
    echo $owtbdcount[0]; 
} 
+1

根本不顯示從var_dump –

2

你應該取

$owtbdr = mysqli_fetch_assoc($owtbdc); 
1

你在mysqli_fetch_assoc($owtbdq);,你寫$owtbdq第二請求($ owtbd Ç)沒有做SUM。你應該做這樣的

mysqli_fetch_assoc($owtbdc);

$owtbdq = mysqli_query($con,"SELECT * FROM `crm`.`workshop-otherwork` WHERE `wsjid` = '$wsjid'"); 
$owtbdc = mysqli_query($con,"SELECT SUM(`amount`) FROM `crm`.`workshop-otherwork` WHERE `wsjid` = '$wsjid'"); 
$owtbdr = mysqli_fetch_assoc($owtbdq); 
+0

$ owtbdr = mysqli_fetch_assoc($ owtbdq);是我沒有做SUM的查詢結果 –

+0

金額列的數據類型是什麼? –

+0

是的,但您在'mysqli_fetch_assoc($ owtbdq)'中使用'$ owtbdq'這個變量。你應該使用'$ owtbdc'而不是 –

0
$row = mysqli_fetch_row($owtbdc) 
$value = $row[0] 

我想這會工作。

0

固定它

它最後被作爲數組返回所以沒有 $ newtotal = array_sum($ owtbdcount)

奏效

感謝幫助傢伙

+0

很好,但是你有沒有相關的代碼應該在第一位發佈? 'array_sum()'突然出現在哪裏?你在使用其他功能嗎? –

+0

沒有所有的代碼在那裏.. dunno只是試了一下,它的工作 –

+0

我仍然認爲添加一個別名的查詢將(也)工作。你應該嘗試一下,看看;-) –