[英]Outputting a sub-query
<!DOCTYPE html>
<html>
<?php
// Connecting to SQL server
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "super_athletics";
// Creates connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
} else {
echo "Connected!";
}
echo "<br>";
// Sums upp all the points recieved by each student for specific school
$myQuery = "SELECT SUM(result_studpoints) AS total FROM result WHERE stud_id IN (SELECT stud_id FROM students WHERE stud_school = 'CCA')";
$result = mysqli_query($myQuery);
mysqli_close($conn);
?>
</html>
我上面的代碼有問題是我無法輸出$ myQuery。 這是一個子查詢,可以計算出特定學校的分數總和。 子查詢從學生表中選擇去某所學校的所有學生ID(在本例中為“ CCA”),並使用該ID匯總接收到的分數(從結果表中獲得),從而得出特定學校(CCA)的總分。
子查詢僅在sql上運行良好,但無法用php輸出。 我試過了回聲,但沒有任何反應。 這看似簡單,但我尚未找到解決方案,請幫忙!
您所遵循的教程都不完整。 或者您跳過了一堆東西,因為您認為這不是必需的。
代碼中的一個問題是對mysqli_query
函數的調用。 該函數的第一個參數應該是連接: $conn
。
$result = mysqli_query($conn,"SELECT ... ");
^^^^^^
發生錯誤時, mysqli_query
應評估為FALSE。 否則,它將評估為TRUE。 該代碼應執行某種檢查,並處理錯誤。 這不一定是編寫此代碼的最佳方法:
if(!$result) {
die("query execution failed");
}
一旦代碼確定$result
是有效結果集的句柄,則代碼可以“獲取”結果。 您可能需要重新訪問本教程,重點是有關從結果集中檢索行的部分。 行的處理通常在循環中執行。
您丟失了mysqli_query中的連接,並且未獲取數據
// Sums upp all the points recieved by each student for specific school
$myQuery = "SELECT SUM(result_studpoints) AS total FROM result WHERE stud_id IN (SELECT stud_id FROM students WHERE stud_school = 'CCA')";
$result = mysqli_query( $conn, $myQuery);
$data = mysqli_fetch_assoc( $result );
echo $data[ 'total' ];
mysqli_close($conn);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.