PHP代码问题
返回值是对象id#1true????什么是对象id#1?试试这个:PHP代码问题,php,mysql,Php,Mysql,返回值是对象id#1true????什么是对象id#1?试试这个: function check_login($array_val) { $strQury = "Select * from tblsignup where usr_email ='".$array_val[0]."' and usr_password = '".$array_val[1]."'" ; $result = mysql_query($strQury); $row_user = my
function check_login($array_val)
{
$strQury = "Select * from tblsignup where usr_email ='".$array_val[0]."' and usr_password = '".$array_val[1]."'" ;
$result = mysql_query($strQury);
$row_user = mysql_fetch_array($result);
if(mysql_num_rows($result)>0)
{
$msg = "true";
}
else
{
$msg = "false";
}
return $msg ;
}
让我们知道使用该代码时得到的结果。您返回的字符串可能是布尔值
true
和false
哦,您的代码对来自的访问是开放的。你真的应该使用适当的语句来代替。使用单引号,事情就会开始变得更好。同时检查您的查询是否存在sql注入错误。更改为:
function check_login($array_val)
{
$strQury = "Select * from tblsignup where usr_email ='".$array_val[0]."' and usr_password = '".$array_val[1]."'" ;
$result = mysql_query($strQury);
$row_user = mysql_fetch_array($result);
if(mysql_num_rows($result)>0)
{
return true;
}
else
{
return false;
}
}
致:
PHP中的
运算符进行字符串连接,而箭头允许您访问对象方法和属性。更改
echo $objUser->check_login($array_login);
到
您应该得到以下结果:
echo $objUser;
echo check_login($array_login);
我猜,$objUser
是在前面设置的,大致如下:
Object id #1
true
因此,它是一个对象(声明的第一个对象),当您只是回显它时,它将返回
objectid#1
。你需要通读课程才能了解更多内容。你没有向我们展示全部情况。根据此代码,您只能得到“true”
或“false”
您希望该函数返回布尔值还是字符串。现在看起来您返回的是布尔值,但却是字符串。您是否可以向我们展示调用此函数的代码,以及如何确定返回值是对象id#1true
?返回值不能是true或false以外的任何值。我不确定您是如何得到返回值为Object id#1 true的。在我看来,您在打印消息之前打印出了一些东西,您把这两者混淆了。me echo此函数:echo$objUser.check_login($array_login);不幸的是,这两个代码显示的结果应该是相同的。为什么要在else
?;-)中加上返回false呢它们不应该产生相同的结果@伊泰,你没有。这只是习惯:)为什么要使用if结构呢<代码>返回mysql\u num\u行($result)>0代码>@Jeroen现在返回值为:对象id#10@aamir:mysqli只是普通mysql PHP扩展的一个不同(而且更高级)的替代品。当然,有一个奇怪的问题是为什么check\u login()
返回任何东西,如果它实际上是$objUser
的方法。为什么不是致命的错误?我的猜测是,aamir Fayyaz一直在移动代码,试图让事情正常运行,当他使用连接运算符出现致命错误时,他将代码移动到类之外。我在类用户中使用echo$objUser->check_login($array_login)时,我的check_login()方法;显示的页面是空白的,它永远不会移动到类的函数,啊,很好的捕获@aamirfayyaz:你应该echocheck\u登录($array\u登录)使用$objUser=new classUser()编码>me;创建一个对象。我猜的check\u login()
函数不是对象的一部分,否则erisco的解决方案会起作用。您不能简单地回显对象。它不是字符串或数字。它是以特定方式组织的数据集合。如果您只使用echo check\u login($array\u login)代码>它是否给出了您想要的结果?然后发布解决方案,删除问题,或者接受最有帮助的答案,以便下一个遇到相同问题的人可以看到解决方案。
echo $objUser;
echo check_login($array_login);
Object id #1
true
$objUser = new User;