我是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个将作为我想要相信的第一个回应。
答案 0 :(得分:1)
您的代码似乎不正确,因为连接是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
答案 1 :(得分:1)
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等的结果,只有一行返回给你,如果你做的话这类句子;)