Простой и эффективный способ отобразить результат запроса в PHP?

Я новичок в MySQL и PHP, и я изо всех сил пытаюсь повторить мои запросы (результаты, а не текст!) Я искал это, но, похоже, ничего не работало должным образом, лучшее, что мне удалось сделать, - это повторить текст запроса. У меня могут быть некоторые фатальные ошибки, но вот мой код:

<?php
$username = "root";
$password = "";
$hostname = "localhost"; 

//connection to the database
$dbhandle = mysql_connect($hostname, $username, $password) 
  or die("Unable to connect to MySQL");
echo "Connected to MySQL<br>";

$selected = mysql_select_db("atoma",$dbhandle) 
  or die("Could not select atoma");

$sql1 = mysql_query("SELECT (MAX(GRADE)) as maximum FROM thema3");
$r = mysql_fetch_array($sql1); // will return the result
echo $r['maximum'];

$sql2 = "SELECT COUNT(DISTINCT NAME) FROM thema2";
$sql1 = "SELECT AVG(GRADE) FROM thema3";

mysql_close($dbhandle);
?>

Я ничего не получаю в результате.

У меня есть эти 3 запроса, и все, что я хочу, это просто напечатать их результаты. Я написал код для повторения только одного из 3, так как остальные 2 будут отражены как первый, которому я хочу верить.

2 ответа

Решение

Ваш код кажется неверным, потому что соединение mysqli и выборка использует mysql

$conn = new mysqli($servername, $username, $password, $dbname);

....

$sql1 = mysql_query("SELECT (MAX(GRADE)) as maximum FROM thema3"); 
$r = mysql_fetch_array($sql1); // will return the result

Полный пример W3Schools

<?php

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

$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
        echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
    }
} else {
    echo "0 results";
}
$conn->close();
?>

http://www.w3schools.com/php/php_mysql_select.asp

Когда вы используете max, avg и т. Д., Вы получаете только один результат, поэтому с $result[0] вы получите желаемый результат.

Изменить: Если вы новичок, может быть, вы пришли, чтобы прочитать это:

http://codular.com/php-mysqli

Таким образом, A) ушел бы, используя устаревший способ вызова базы данных, и B) с этим, в принципе, приводя к первой строке, у вас был бы результат AVG, MAX и т. Д., Когда только одна строка, которая возвращает вас, если вы делаете этот тип приговоры;)

Другие вопросы по тегам