2015-07-03 22 views
0

我是MySQL和PHP的新手,我正在努力迴應我的疑問(結果不是文本!) 我已經搜索了這個,但沒有任何東西似乎正常工作,我設法做的最好的回聲是查詢。我可能有一些致命的錯誤,但這裏是我的代碼:在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個將作爲我想相信的第一個迴應。

+1

你在混淆'我的sql'和'mysqli' - 注意我在最後 - 這裏有兩個不同的東西。 – Andrew

+0

^還請注意查詢2和3您目前沒有做任何事情。 – chris85

+0

對於在PHP中打印變量內容,var_dump()是你的朋友http://php.net/manual/de/function.var-dump.php –

回答

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 
+0

我編輯了我的問題,但仍然沒有結果。 –

+0

我有一個錯字,現在一切都好了!謝謝! –

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等你拉只有一個結果,所以用$結果[0]你有結果,你想

編輯: 如果你是新的,也許你過來看閱讀這樣的:

http://codular.com/php-mysqli

所以A)將與此帶來的第一行留下使用過時的方式來調用數據庫,和B)原則上你將有AVG,MAX等時的結果只一行,如果你使這種類型的句子返回給你;)

+0

我可以回顯一個表,一行,一列,我似乎無法得到回聲的結果,如計數,最大值,最小值等。我已經看到這個例子,但(我沒有經驗)我無法弄清楚什麼值如果我想打印結果而不是特定的行或列,我必須輸入回顯。 –

+0

閱讀編輯部分,也許可以幫助你:) – Worvast

+0

非常有幫助!我會研究它:) –