2016-01-29 3 views
-1
<!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. Это подзапрос, который вычисляет сумму баллов для конкретной школы. Суб-запрос выбирает всех идентификаторов студента, которые идут в определенную школу из таблицы учеников, в данном случае «CCA», и использует идентификатор, чтобы суммировать полученные очки (полученные из таблицы результатов), которые должны дать общее количество баллов для конкретной школы (ОСО).Вывод подзапроса

Подзапрос хорошо работает на sql, но я не могу получить его для вывода с помощью php. Я пробовал эхом, но ничего не возникает. Это может показаться простым, но я не нашел решения, пожалуйста, помогите!

+0

Вы используете сервер SQL? Похоже, вы используете mysql, это разные базы данных. 'mysql'! =' sql server'. – chris85

+0

Вы пробовали получать данные? Где ваша попытка «эха»? – chris85

+0

'$ result = mysqli_query ($ myQuery);' вы никогда не подключались, и вам не хватает кода для вывода этого. –

ответ

0

Вы отсутствовали соединение в 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); 
+0

Спасибо, что сработали: D – SubZero

2

Либо учебное пособие, которое вы следовали, является крайне неполным. Или вы пропустили кучу вещей, потому что считали, что это не нужно.

Одна из проблем в коде - вызов функции mysqli_query. Первым аргументом этой функции должно быть соединение: $conn.

$result = mysqli_query($conn,"SELECT ... "); 
         ^^^^^^ 

mysqli_query следует оценивать в FALSE, когда произошла ошибка. В противном случае он будет оценивать значение TRUE. Код должен выполнять некоторую проверку и обрабатывать ошибку. Это не обязательно является лучшим способом закодировать следующим образом:

if(!$result) { 
    die("query execution failed"); 
    } 

После того, как код определяет, что $result является дескриптором действительным результирующем, код может затем «извлечь» результаты. Возможно, вам захочется вернуться к уроку, сосредоточив внимание на части извлечения строк из набора результатов. Обработка строк обычно выполняется в цикле.

+0

Я сам сам предпочел это объяснение ;-) –

Смежные вопросы