我试图创建一个函数,它将返回一个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
答案 0 :(得分:10)
删除链接变量$result
周围的双引号。
function GetAccounts($username){
require("dbconn.php");
$result = mysql_query("SELECT * FROM `accounts` WHERE `username` = '$username' ") or trigger_error(mysql_error());
return $result;
}
答案 1 :(得分:9)
将$result
置于双引号内意味着它将被强制转换为字符串,然后不再是“资源”类型。请尝试改为:
return $result;