Я пытаюсь создать функцию, которая вернет запрос mysql, который затем я смогу выполнить и обработать результаты, но он, похоже, не работает. Я, возможно, даже не сделаю этого правильно.
function GetAccounts($username){ require("dbconn.php"); $result = mysql_query("SELECT * FROM `accounts` WHERE `username` = '$username' ") or trigger_error(mysql_error()); return "$result"; } $result = GetAccounts($username); while($row = mysql_fetch_array($result)){ foreach($row AS $key => $value) { $row[$key] = stripslashes($value); } $theusername = $row['theusername']; $thepassword = $row['thepassword']; echo $theusername; }
Ошибка, которую я получаю,
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
Я попытался загрузить все вышеперечисленное в функцию, но мог только заставить его каждый раз возвращать один результат. Поскольку мне не нужно обрабатывать каждый результат, я думаю, что это так, как я хочу это сделать, но дайте мне знать, есть ли лучший способ или что я делаю неправильно.
Когда я повторяю функцию с именем пользователя, я получаю следующее:
Resource id #5
Удалите двойные кавычки вокруг переменной ссылки $result
.
function GetAccounts($username){ require("dbconn.php"); $result = mysql_query("SELECT * FROM `accounts` WHERE `username` = '$username' ") or trigger_error(mysql_error()); return $result; }
Ввод $result
в двойные кавычки означает, что он будет передан в строку, а затем больше не будет «ресурсом» типа. Попробуйте вместо этого:
return $result;