2015-07-03 2 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 вопроса, и все, что я хочу, это просто распечатать результаты. Я написал код для повторения только одного из трех, так как остальные 2 будут отражены в качестве первого, о котором я хочу верить.

+1

Вы смешиваете 'мой sql' и 'mysqli' - обратите внимание на i в конце - вот, две разные вещи. – 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

При использовании макс, сред и т.д. вы тянете только один результат, так и с $ результатом [0] вы есть результат, который вы хотите

Edit: Если вы новичок, возможно, вы пришли, чтобы увидеть чтения это:

http://codular.com/php-mysqli

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

+0

Я могу повторить таблицу, строку, столбец, я не могу получить эхо-результаты, такие как count, max, min и т. Д. Я видел этот пример, но (у меня нет опыта). Я не могу понять, что значение Я должен поставить эхо, если я хочу напечатать результат, а не конкретную строку или столбец. –

+0

Прочтите часть редактирования, может быть, может вам помочь :) – Worvast

+0

Очень полезно! Я изучу это :) –

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