Предупреждение: mysql_result (): предоставленный аргумент не является допустимым ресурсом результата MySQL в (…) в строке 4

Привет, ребята, просто любопытно решить эту неприятную проблему. Вот мой фрагмент.

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

Буду признателен за любую оказанную помощь. 🙂

<?php function user_exists ($username) { $username = sanitize($username); return (mysql_result(mysql_query("SELECT COUNT(user_id) FROM users WHERE username = $username"), 0) == 1) ? true : false; } ?> 

Вы должны разделить свой код на несколько строк для обработки этих ошибок или особых случаев. mysql_query будет возвращать ноль в n строк или ошибку, если это произойдет. Таким образом, возвращаемый ресурс будет истинным только для запросов без ошибок. Это можно использовать для обработки таких ситуаций, как описано ниже.

Сначала создайте и выполните запрос, затем обработайте ресурс .

 $query="SELECT COUNT(user_id) FROM users WHERE username = ".$username; $result = mysql_query($query); 

u может использовать следующее, чтобы определить, что происходит в случае ошибки:

 if(!$result) die("SELECT failed: ".mysql_error()); 

или эта идея для решения проблемы

 if (!$result=mysql_query($query)) { return false; // or similar operation } if (mysql_num_rows($result)!=1){ return false; }else{ return true; } 

Это может произойти, когда mysql_query возвращает false, если по какой-то причине он не работает. Поэтому вы должны разделить это на несколько операторов и проверить возвращаемые значения

 $sql = "SELECT COUNT(user_id) FROM users WHERE username = $username"; $result = mysql_query($sql); if ($result === false) { // error handling return false; } return (mysql_result($result, 0) == 1) ? true : false;