Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.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 If语句失败(mysql)_Php_Mysql_Mysqli - Fatal编程技术网

Php If语句失败(mysql)

Php If语句失败(mysql),php,mysql,mysqli,Php,Mysql,Mysqli,内行中的If语句逻辑似乎每次都工作错误(即使输入了正确的现有用户名和密码)。我不知道为什么 代码: 根据: 对于成功的选择,显示,描述或解释查询 mysqli\u query()将返回一个mysqli\u结果对象。其他 成功的查询mysqli\u query()将返回TRUE 由于您正在执行一个SELECT查询,您应该期望的是mysqli\u结果对象,而不是TRUE。如果您进行以下更改,则应正常工作: if($conn->query($result)) echo("Successf

内行中的If语句逻辑似乎每次都工作错误(即使输入了正确的现有用户名和密码)。我不知道为什么

代码:

根据:

对于成功的
选择
显示
描述
解释
查询
mysqli\u query()
将返回一个
mysqli\u结果
对象。其他 成功的查询
mysqli\u query()
将返回
TRUE

由于您正在执行一个
SELECT
查询,您应该期望的是
mysqli\u结果
对象,而不是
TRUE
。如果您进行以下更改,则应正常工作:

if($conn->query($result))
    echo("Successful login: ".$username);
else
    echo("The  username or password are incorrect!");
根据报告:

对于成功的
选择
显示
描述
解释
查询
mysqli\u query()
将返回一个
mysqli\u结果
对象。其他 成功的查询
mysqli\u query()
将返回
TRUE

由于您正在执行一个
SELECT
查询,您应该期望的是
mysqli\u结果
对象,而不是
TRUE
。如果您进行以下更改,则应正常工作:

if($conn->query($result))
    echo("Successful login: ".$username);
else
    echo("The  username or password are incorrect!");

MySQL(和其他SQL语言)不使用编程语言中的双等号语法。因此,您的查询应该是
column=value
而不是
column==value
MySQL(和其他SQL语言)不要使用编程语言中的双等号语法。因此,您的查询应该是
column=value
而不是
column==value

您的查询是错误的。mysql中没有
==

使用此查询

$result = "SELECT * FROM customer WHERE name='$username' 
AND password='$password'";

你的问题是错误的。mysql中没有
==

使用此查询

$result = "SELECT * FROM customer WHERE name='$username' 
AND password='$password'";

坚持写
name='$username'和password='$password'尝试下面的查询

select * from customer where  name='$username' AND password='$password'";

坚持写
name='$username'和password='$password'尝试下面的查询

select * from customer where  name='$username' AND password='$password'";

也可能被一个更简单的解决方案所取代,可以处理任何类型的查询:
if($conn->query($result))
错误
如果
根据逻辑条件进行测试,空字符串和零在技术上是错误的,那么这些查询函数返回的内容是要在逻辑上进行计算的。也可以用更简单的解决方案代替,使用任何类型的查询:
如果($conn->query($result))
==TRUE
和更荒谬的
!==错误
如果
针对逻辑条件进行测试,并且空字符串和零在技术上是错误的,则这些查询函数将返回要进行逻辑计算的内容。不要对用户数据(尤其是密码)使用
stripslashes
。它会破坏内容。警告:使用
mysqli
时,您应该使用和将用户数据添加到查询中。不要使用手动转义和字符串插值或串联来完成此操作,因为如果您忘记正确转义某些内容,您将创建严重的错误。
=
应该是
=
不要对用户数据,尤其是密码使用
带斜杠。它会破坏内容。警告:使用
mysqli
时,您应该使用和将用户数据添加到查询中。不要使用手动转义和字符串插值或串联来完成此操作,因为如果您忘记正确转义某些内容,您将创建严重错误。
=
应该是
=
@sergio问题解决了吗?如果是,请随意向上投票并标记为correct@sergio问题解决了吗?如果是,请随意投票并标记为正确