Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP代码问题_Php_Mysql - Fatal编程技术网

PHP代码问题

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

返回值是对象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 = 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登录)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;