Предупреждение: mysql_num_rows () ожидает, что параметр 1 будет ресурсом, boolean задан в

Возможный дубликат:
mysql_fetch_array () ожидает, что параметр 1 будет ресурсом, boolean задан в select

if (isset($_GET['uid']) && !empty($_GET['uid'])) { $id = $_GET['uid']; $sql = "SELECT * FROM `apps` WHERE `id` = ". mysql_real_escape_string($id) ." LIMIT 1"; if ($result = mysql_query($sql)) { if (mysql_num_rows($result) == 1) { while($row = mysql_fetch_assoc($result)){ $username = $row["MCName"]; echo' //Here is a ton of rows and some html. '; } $sql = "SELECT * FROM `apps` WHERE `MCName` = ". $username; $result = mysql_query($sql); $rows = mysql_num_rows($result); }else { die('Record not found.'); } } } 

Ive пробовал все, он продолжает терпеть неудачу. Я не владею SQL и PHP. Я хочу подсчитать, сколько строк есть с «MCName». Я не уверен, могу ли я сделать это в первом SQL-запросе. Кроме того, ошибка появляется в строке 44, иначе это строка, которая выполняет mysql_num_rows. БД подключается ранее к скрипту.

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

Второй запрос имеет синтаксическую ошибку SQL:

  $sql = "SELECT * FROM `apps` WHERE `MCName` = ". $username; 

Переменная $username должна быть заключена в кавычки. Попробуйте выполнить следующее:

  $sql = "SELECT * FROM `apps` WHERE `MCName` = '". $username . "'"; 

Это от php: http://php.net/manual/en/function.mysql-query.php

Use of this extension is discouraged. Instead, the MySQLi or PDO_MySQL extension should be used. See also MySQL: choosing an API guide and related FAQ for more information. Alternatives to this function include:

См. http://www.php.net/manual/en/mysqli.query.php для подробных примеров.

Правильный способ сделать это ??

 $mysqli = new mysqli("localhost", "user", "password", "db"); $sql = "SELECT * FROM `apps` WHERE `MCName` = '%s' "; if ($mysqli->connect_errno) { printf("Connect failed: %s\n", $mysqli->connect_error); exit(); } $result = $mysqli->query(sprintf($sql, $mysqli->real_escape_string($username))); $rows = $result->num_rows; 
 $sql = "SELECT COUNT(*) cn FROM `apps` WHERE `MCName` = '". $username."'"; $result = mysql_query($sql); 

Тогда получите от этого результат.

И да, я бы рекомендовал использовать PDO вместо команд mysql_ *