2017-03-19 91 views
0

我在如何總結MySQL中列的值方面做了一些研究,發現SELECT SUM是最好的方法,但是我花了數小時試圖解決這個問題,而且我仍然不能得到它的工作:PHP MySQL SELECT SUM不起作用

下面的代碼:

// Create connection 
$conn = new mysqli($servername, $username, $password, $dbname); 
// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 

$result = mysqli_query('SELECT SUM(price) AS value_sum FROM xCarts_'. $useXsesh .'_sandwiches'); 
$row = mysqli_fetch_assoc($result); 
$sum = $row['value_sum']; 

echo $sum; 
mysqli_close($conn); 

這裏的表:

enter image description here

+0

價格列int(或不是文本/字符串)? –

+0

是的,設置爲int(20) – Rick

+0

注意:SQL注入... –

回答

2

你合作使用OOP風格連接到數據庫,然後嘗試使用過程風格獲取數據,您需要將您的過程轉換爲OOP;

此行:

$result = mysqli_query('SELECT SUM(price) AS value_sum FROM xCarts_'. $useXsesh .'_sandwiches'); 
$row = mysqli_fetch_assoc($result); 
$sum = $row['value_sum']; 

應該如下:

$result = $conn->query('SELECT SUM(price) AS value_sum FROM xCarts_'. $useXsesh .'_sandwiches'); 
$row = $result->fetch_assoc(); 
$sum = $row['value_sum']; 

,如果你需要保持你的程序的風格,連使用的程序樣式的mysqli:

$conn = mysqli_connect($servername, $username, $password, $dbname); 

if (!$conn) { 
    die("Connection failed: " . mysqli_connect_error()); 
} 

然後通過你的連接如下所示:

$result = mysqli_query($conn, 'SELECT SUM(price) AS value_sum FROM xCarts_'. $useXsesh .'_sandwiches'); 
//      ^^^^^ 
$row = mysqli_fetch_assoc($result); 

$sum = $row['value_sum']; 
+0

謝謝你完美的工作! – Rick

+0

不錯,檢查更新的部分;) – hassan

0

您的查詢結果不錯。也許你的'id'屬性不是數字類型?