Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.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 MySQL查询枚举_Php_Mysql - Fatal编程技术网

Php MySQL查询枚举

Php MySQL查询枚举,php,mysql,Php,Mysql,我已经做了一段时间了,我知道这比我现在做的要简单,但我就是搞不懂。我有一些代码试图从我的表中查询枚举1或枚举0,所以这正是我要做的 $username = 'test' $passResult = mysql_query("SELECT usrSetPass FROM members WHERE usr='.$username.'"); 现在我把所有的连接都记下来了,我想,我没有发现任何错误,但是当我在echo中打印出来的时候,我得到了这个 这是我的回音: echo 'Hello, '.$us

我已经做了一段时间了,我知道这比我现在做的要简单,但我就是搞不懂。我有一些代码试图从我的表中查询枚举1或枚举0,所以这正是我要做的

$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发送的错误消息。好的,没关系。我修好了。感谢您的帮助,非常感谢。如果我的回答回答了您的问题,请单击复选标记,在此处标记为:)