mysql — возвращает количество строк

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

$findFriendssql = "select u.firstName, u.id from friends f, user u
where (f.u_ID1 = '$loggedId' and u.id = f.u_id2)
or (f.u_id2 = '$loggedId' and u.id = f.u_id1)";$all_friends_sql = $db->getRows($findFriendssql);

//$number_of_friends = mysql_num_rows($all_friends_sql);
if ($all_friends_sql) {
$number_of_friends = mysql_num_rows($all_friends_sql);
$friends = "";
foreach ($all_friends_sql as $one_post) {
//doing stuff here.

и вот функция получить строки

public function getRows($sql) {
$result = array();
$table = mysql_query($sql, $this->db_link);
if (!$table) {
die("\"$sql\" seems to be an invalid query: " . mysql_error());
}
while ($row = mysql_fetch_assoc($table)) {
array_push($result, $row);
}

return $result;
}

все, что я пытаюсь — я получаю ошибку, что num строк ожидает, что параметр 1 будет ресурсом.
заранее спасибо

0

Решение

  $findFriendssql = "select u.firstName, u.id from friends f, user u where (f.u_ID1 = '$loggedId' and u.id = f.u_id2)
or (f.u_id2 = '$loggedId' and u.id = f.u_id1)";$all_friends_sql = $db->getRows($findFriendssql);

//$number_of_friends = mysql_num_rows($all_friends_sql);
if (count($all_friends_sql)>0) {
$number_of_friends = mysqli_num_rows($all_friends_sql);
$friends = "";
foreach ($all_friends_sql as $one_post) {
0

Другие решения

Предполагается, что строка num происходит сразу после этого:

$table = mysql_query($sql, $this->db_link);
$totalFirends = mysql_num_rows($table);

использование $table в качестве входного параметра. $table должен быть ресурсом. быть в состоянии использовать mysql_num_rows,
Следующие изменения в вашей функции $table больше не быть ресурсом. Кроме того, вам не нужен этот код, чтобы знать, сколько друзей у пользователя:

    while ($row = mysql_fetch_assoc($table)) {
array_push($result, $row);
}

return $result;
}

Также, если вам нужен только номер, запрос должен измениться на SELECT COUNT(some-field)

И я не знаю, что такое содержание $loggedId надеюсь, что вы проверили, что запрос возвращает то, что должен вернуться. правильно выводить запрос с примером данных, скажем, в phpmyadmin?

0

По вопросам рекламы [email protected]