Простой и эффективный способ отобразить результат запроса в 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] вы получите желаемый результат.
Изменить: Если вы новичок, может быть, вы пришли, чтобы прочитать это:
Таким образом, A) ушел бы, используя устаревший способ вызова базы данных, и B) с этим, в принципе, приводя к первой строке, у вас был бы результат AVG, MAX и т. Д., Когда только одна строка, которая возвращает вас, если вы делаете этот тип приговоры;)