2014-01-23 2 views
5

Текущая попытка показать результаты SELECT COUNT(*) из SQL на моем веб-сайте. Я на 100% новичок в PHP и SQL, поэтому понимаю, что это должны быть основы! Если кто-нибудь может порекомендовать хорошую книгу или веб-сайт, чтобы узнать, что это тоже будет здорово.Отображение результатов SELECT COUNT (*) в PHP

Вот мой текущий код:

<?php 
include_once 'includes/db_connect.php'; 
include_once 'includes/functions.php'; 

sec_session_start(); 
$sql = ("SELECT COUNT(*) FROM project_directory"); 
$result = mysql_fetch_array($sql); 
?> 

<?php echo $result ; ?> 

Результаты 28 и работу, если я запускаю следующее в окне SQL из PhpMyAdmin

SELECT COUNT(*) FROM project_directory 

Цените кто поможет или советом.

ответ

4

вы не выполнить запрос с помощью функции() mysql_query.

вам нужно сделать, как этот

<?php 
include_once 'includes/db_connect.php'; 
include_once 'includes/functions.php'; 

sec_session_start(); 

$sql = ("SELECT COUNT(*) FROM project_directory"); 
$rs = mysql_query($sql); 
//-----------^ need to run query here 

$result = mysql_fetch_array($rs); 
//here you can echo the result of query 
echo $result[0]; 

?> 

<?php echo $result[0]; ?> 

Примечание: если вы начали изучать PHP/Mysql затем попытаться использовать mysqli_ * функции. mysql_ будет устаревать в будущих версиях PHP.

+0

Привет Маз, я получаю следующую ошибку. Предупреждение: mysql_fetch_array() ожидает, что параметр 1 будет ресурсом, boolean задан в – tgcowell

+1

, пожалуйста, сначала проверьте, соединение в порядке. mysql_connect в порядке, тогда верно mysql_select_db. Третий. распечатайте свой запрос и запустите его непосредственно в phpmyadmin и посмотрите, что в запросе –

2

$result является массивом, поэтому вы должны использовать $result[0] или $result[0][0]

если вы используете print_r($result) вы увидите структуру вашего массива и который когда-то вы должны использовать.

тоже не использовался mysql_query($sql).
вы должны использовать его как:

$result = mysql_query($sql); 
$out = mysql_fetch_array($result); 
print($out[0][0]); // or print($out[0]); 
+0

'$ result = mysql_fetch_array ($ sql);' приведет к ошибке, потому что 'mysql_fetch_array()' метод нуждается в аргументе ресурса, но OP использует '$ sql', который является строкой. –

+0

@TunZarniKyaw thanx bro ... Я этого не заметил. – Soosh

+1

отлично! ваш ответ кажется правильным! я надеюсь, что OP замечает ваши изменения и принимает в качестве правильного ответа –

0

У вас есть два варианта.

Получить результат от ресурса, возвращаемого счетчика запроса:

 $resource = mysql_query("SELECT COUNT(col) FROM table"); 
     $count = mysql_result($resource,0); 

Или, получить количество строк из ресурса, возвращаемого запросом (без счетчика).

 $resource = mysql_query("SELECT col FROM table WHERE col IS NOT NULL"); 
     $count = mysql_num_rows($resource); 

Я бы рекомендовал использовать первый, по причине того, что это не является необходимым, чтобы извлечь все данные из таблицы, когда требуется только подсчет.

+0

'$ rows = mysql_num_rows ($ sql);' приведет к ошибке, потому что 'mysql_num_rows()' method нуждается в * ресурсе * в качестве аргумента, а '$ sql' - строка –

+0

Я пробовал вышеуказанный код ... и теперь я получаю следующую ошибку Предупреждение: mysql_num_rows() ожидает, что параметр 1 будет ресурсом, строка указана в – tgcowell

+0

tgcowell

0

, если вы новичок в PHP и MySQL попытаться использовать MySQLi не MySQL

<?php 
include_once 'includes/db_connect.php'; 
include_once 'includes/functions.php'; 

$sql = "SELECT COUNT(*) FROM project_directory"; 
$query = mysql_query($sql); 
$result = mysql_num_rows($query); 
echo $result ; 
?> 
+0

'$ result = mysql_num_rows ($ sql);' приведет к ошибке ... потому что метод 'mysql_num_rows()' нужен * ресурс *, а '$ sql' - просто строка. –

+0

вам нужно выполнить запрос сначала $ query = mysql_query ($ sql); а затем $ result = mysql_num_rows ($ query); извините, не написано выполнить запрос –

+0

вы можете отредактировать свой ответ ... пожалуйста, внесите исправление –

1

Здравствуйте, если вы свежее, то вы можете прочитать w3schools.com наслаждаться

<?php 
include_once 'includes/db_connect.php'; 
include_once 'includes/functions.php'; 

$sql = "SELECT COUNT(*) as count FROM project_directory"; 
$result = mysql_num_rows($sql); 
$my=$result['count']; 
echo $my; 
?> 
+1

еще нет! '$ result = mysql_num_rows ($ sql);' приведет к ошибке, потому что 'mysql_num_rows()' method нуждается в аргументе * ресурса *, но '$ sql' является просто строкой. неправильный ответ! –

+0

Вы рекомендуете w3schools? пожалуйста, прочтите это http://www.w3fools.com/ –

+0

Я просто смущен, ничего не сработало ... Я продолжаю получать ряд ошибок. Я предположил, что это будет легко? Кажется, это намного сложнее, чем ожидалось. – tgcowell

0
$abc="SELECT count(*) as c FROM output WHERE question1=4"; 
$result=mysqli_query($conn,$abc); 
if($result) 
{ 
    while($row=mysqli_fetch_assoc($result)) 
    { 
     echo $row['c']; 
    }  
} 

СВОИХ работами полностью

0
$qry_appr = "SELECT COUNT(*) FROM comments WHERE admin_panel_id ='$id' AND status = 'ON'"; 
$qry_data = mysqli_query($con, $qry_appr); 
$approve_count = mysqli_fetch_array($qry_data); 
$toatalCount = array_shift($approve_count); 
echo $toatalCount; 

Это будет также хорошо, но это делать то, что возвращение индекса 0 значение путем смещения массива fetch. Это может использоваться без псевдонимов.приветствую всех

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