2013-12-25 3 views
0

Я пытался использовать прошлое, чтобы отобразить результат запроса MySQL в PHP. Я не могу заставить его работать, поэтому я немного потерян. Я знаю, что запрос работает так, как я это делал в PHPMYADMIN, и он работает нормально, однако всякий раз, когда я загружаю веб-страницу, ничего не выводится. Для целей этого вопроса я обобщил вещи в запросе, поскольку я, очевидно, не хочу, чтобы кто-либо обращался к моей базе данных. Это то, что я пробовал:Повторение запроса MySQL в PHP

<?php 
    $connect = mysql_connect('host', 'user', 'password', 'dbname'); 
    if (!$connect) { 
     die('Could not connect: ' . mysql_error()); 
    } 
    if (!mysql_select_db('dbname')) { 
     die('Could not select database: ' . mysql_error()); 
    } 
    $result = mysql_query('SELECT SUM(row name) FROM `table`'); 
    if (!$result) { 
     die('Could not query:' . mysql_error()); 
    } 
    echo mysql_result($result); 

    mysql_close($connect); 
?> 

С нетерпением жду ваших ответов.

+0

насчет 'эхо "mysql_result ($ результат)";?' –

+0

mysql_ * нежелателен из PHP 5.5.0, и будут удалены в будущем. Вместо этого следует использовать расширение MySQLi или PDO_MySQL. –

ответ

3

mysql_result Необходимо указать второй параметр (Номер строки из полученного результата).

echo mysql_result($result, 0); 
2

вы должны изменить

эхо mysql_result ($ результат); по

echo mysql_result($result,0); 

или вы можете использовать

print_r(mysql_fetch_assoc($result)); 
0

В вашем mysql_connect вы предоставили 4 параметра. он принимает 3 параметра

хост, имя пользователя и пароль. dbname дано внутри mysql_select_db

как вы можете видеть из официальных документов. Поэтому удалите 4-й параметр из функции mysql_connect.

$link = mysql_connect('localhost', 'mysql_user', 'mysql_password'); 

http://php.net/function.mysql-connect

$db_selected = mysql_select_db('foo', $link); 

http://www.php.net/manual/en/function.mysql-select-db.php

но эти mysql_ * функция будет осуждается использование MySQLi вместо этого.

1

Попробуйте

echo mysql_result($result,0); 

Для получения дополнительной информации, пожалуйста, дайте посмотреть на http://www.php.net/mysql_result

или вы можете использовать mysql_fetch_row вместо mysql_result.

$row = mysql_fetch_row($result); 
echo $row[0]; 
0

передать номер строки в качестве второго параметра в mysql_result

эхо mysql_result ($ результат, 1);

или

использование print_r (mysql_fetch_array ($ результат)); где $ результат ваш результат ресурс

1

Вы можете использовать этот следующий формат: Дайте вашу Sql команду:

$result = mysql_query('SELECT SUM(row name) as new_column_name FROM `table`'); 

затем использовать эту петлю

while($fetched_values = mysql_fetch_array($result)){ 
    echo $fetched_values['new_column']; 
} 
0

если у вас есть какие-либо сомнения вы можете ссылаться на мою следующую примерную программу.

<?php 
$connect = mysql_connect('localhost', 'user_name', 'password', 'db_name'); 
if (!$connect) 
{ 
    die('Could not connect: ' . mysql_error()); 
} 
if (!mysql_select_db('db_name')) 
{ 
    die('Could not select database: ' . mysql_error()); 
} 
$row = mysql_query('SELECT (Tamil+English+Maths) as total FROM table_name'); 
if (!$row) 
{ 
    die('Could not query:' . mysql_error()); 
} 
while($fetched_row = mysql_fetch_array($row)){ 
echo $fetched_row['total']; 
} 

mysql_close($connect); 

>

здесь тамильский, английский и математика являются значения столбцов моей таблицы

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