Php MySQL查询枚举
我已经做了一段时间了,我知道这比我现在做的要简单,但我就是搞不懂。我有一些代码试图从我的表中查询枚举1或枚举0,所以这正是我要做的Php MySQL查询枚举,php,mysql,Php,Mysql,我已经做了一段时间了,我知道这比我现在做的要简单,但我就是搞不懂。我有一些代码试图从我的表中查询枚举1或枚举0,所以这正是我要做的 $username = 'test' $passResult = mysql_query("SELECT usrSetPass FROM members WHERE usr='.$username.'"); 现在我把所有的连接都记下来了,我想,我没有发现任何错误,但是当我在echo中打印出来的时候,我得到了这个 这是我的回音: echo 'Hello, '.$us
$username = 'test'
$passResult = mysql_query("SELECT usrSetPass FROM members WHERE usr='.$username.'");
现在我把所有的连接都记下来了,我想,我没有发现任何错误,但是当我在echo中打印出来的时候,我得到了这个
这是我的回音:
echo 'Hello, '.$username.', you Result is: '.$passResult.'!';
我想得到的是:
Hello, test, your Result is: 1
or
Hello, test, your Result is: 0
现在我得到的是:
Hello, test, your Result is: Resource id #6
现在无论我做什么,我都会得到同样的结果,我不知道我做错了什么,伙计们,如果有人能指出这一点,那将是非常棒的。这个枚举主要用于布尔值,只是为了查看用户是否个人设置了密码,而不是计算机生成的版本
mysql\u query
返回一个结果资源,本质上是指向缓冲结果的内存的指针。该结果集可以包含许多行,因为您可以选择许多行,因此您需要从这些行中获取所需的行,然后获取所需的列
/* execute the query and get a result resource back */
$passResult = mysql_query("SELECT usrSetPass FROM members WHERE usr='" . mysql_real_escape_string($username) . "'");
/* retrieve the first row from $passResult */
$row = mysql_fetch_assoc($passResult);
/* assign the usrSetPass column's value from that row to $passed */
$passed = $row['usrSetPass'];
此外,您的查询是错误的。您将其括在双引号中,因此在使用单引号和内点时,实际上并没有脱离字符串并连接$username。我已经更正了上面的问题。mysql\u查询不返回值,它返回一个资源(请参阅手册) 返回的结果资源应该传递给另一个处理结果表(如or)的函数,以访问返回的数据 基于初始代码的示例:
$username = 'test';
$passResult = mysql_query("SELECT usrSetPass FROM members WHERE usr='".$username."'");
while ($row = mysql_fetch_assoc($passResult)) {
echo $row['usrSetPass'];
}
无关注释:请使用,而不是将
$username
连接到查询字符串中。一般来说,它更安全,并且通过SQL注入减少了安全漏洞。好吧,我知道您在这里做什么,但现在我得到了一个警告:mysql\u fetch\u assoc()希望参数1是资源,第16行C:\wamp\www\Login\Test.php中给出的布尔值感谢您的帮助mysql\u查询
如果查询无法运行,将返回false。这就是发生的事情,所以你不能从一个不存在的结果集中得到一行echo mysql\u error($passResult)
查看mysql发送的错误消息。好的,没关系。我修好了。感谢您的帮助,非常感谢。如果我的回答回答了您的问题,请单击复选标记,在此处标记为:)