Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.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,为什么这个PHP代码(mysql_查询删除用户名为$phpVar的行)什么都不做 mysql_query("DELETE FROM xraydeath WHERE user = $user"); 您需要在字符串周围加引号,如下所示: mysql_query("DELETE FROM xraydeath WHERE user = '$user'"); 您需要在字符串周围加引号,如下所示: mysql_query("DELETE FROM xraydeath WHERE user = '$use

为什么这个PHP代码(mysql_查询删除用户名为
$phpVar
的行)什么都不做

mysql_query("DELETE FROM xraydeath WHERE user = $user");

您需要在字符串周围加引号,如下所示:

mysql_query("DELETE FROM xraydeath WHERE user = '$user'");

您需要在字符串周围加引号,如下所示:

mysql_query("DELETE FROM xraydeath WHERE user = '$user'");

您忘记了用户周围的引号:

mysql_query("DELETE FROM xraydeath WHERE user = '$user'");

您忘记了用户周围的引号:

mysql_query("DELETE FROM xraydeath WHERE user = '$user'");

你在期待什么?它是如何失败的?Mysql_查询不应该以您正在使用的形式执行任何操作,除非将查询发送到服务器

 $result = mysql_query (...);
 // use the result if any.
 if (!$result) {
    die('Invalid query: ' . mysql_error());
 }
 // check the error that you might have

你在期待什么?它是如何失败的?Mysql_查询不应该以您正在使用的形式执行任何操作,除非将查询发送到服务器

 $result = mysql_query (...);
 // use the result if any.
 if (!$result) {
    die('Invalid query: ' . mysql_error());
 }
 // check the error that you might have

可能是因为您忘了引用
$user
参数,请进入sql查询字符串。如果该参数直接连接到用户输入,则可能会有人提交
”或1=1--
,而您的整个表都会消失。这个想法被称为


注意:旧的mysql_*函数现在已被弃用,您应该避免使用它们。

可能是因为您忘了引用
$user
参数,请进入sql查询字符串。如果该参数直接连接到用户输入,则可能会有人提交
”或1=1--
,而您的整个表都会消失。这个想法被称为


注意:旧的mysql_*函数现在已被弃用,您应该避免使用它们。

您需要将
$user
放在引号中

mysql_query("DELETE FROM xraydeath WHERE user = '".$user."';");
如果没有删除的行,删除也会成功,因此要获得实际删除的行数,请使用
mysql\u impacted\u rows()


**尽量不要使用
mysql.*
切换到PDO。

您需要将
$user
放在引号中

mysql_query("DELETE FROM xraydeath WHERE user = '".$user."';");
如果没有删除的行,删除也会成功,因此要获得实际删除的行数,请使用
mysql\u impacted\u rows()


**尽量不要使用
mysql.*
切换到PDO。

假设
xraydeath.user
是字符类型,值需要用引号括起来。如果
$user
尚未包含引号,请尝试:

mysql_query("DELETE FROM xraydeath WHERE user = '$user'");
对于踢腿,请尝试设置
$user=“”或“1”=“1”!(阅读SQL注入攻击,你真的应该切换到mysqli!)



也可能该表没有匹配的行,因此不会删除任何内容。如果不知道您分配给
$user
的内容和您的数据,则无法知道。

假设
xraydeath.user
是字符类型,则需要将值括在引号中。如果
$user
尚未包含引号,请尝试:

mysql_query("DELETE FROM xraydeath WHERE user = '$user'");
对于踢腿,请尝试设置
$user=“”或“1”=“1”!(阅读SQL注入攻击,你真的应该切换到mysqli!)


也可能该表没有匹配的行,因此不会删除任何内容。如果不知道您分配给
$user
的内容和您的数据,则无法知道。

尝试以下方法:

mysql_query("DELETE FROM xraydeath WHERE user = '".$user."'");

将mysql中使用的每个php变量放入“.$variable”中。

试试这个:

mysql_query("DELETE FROM xraydeath WHERE user = '".$user."'");


mysql中使用的每个php变量,都将它们放入“.$variable.”中。

首先:mysql已被弃用。您应该使用mysqli。 第二:用户是什么类型的? 如果是int: (面向对象风格)

如果是varchar(字符串):

或 (syle程序)


首先,希望它能有所帮助:mysql已被弃用。您应该使用mysqli。 第二:用户是什么类型的? 如果是int: (面向对象风格)

如果是varchar(字符串):

或 (syle程序)



希望对您有所帮助,
$user
设置为什么以及表中的数据是什么?旁注:请记住mysql_*函数是。使用他们的对手这种使用方式很容易被sql注入。使用PDO和bind参数。
$user
设置为什么?表中的数据是什么?旁注:请记住mysql_*函数是。使用他们的对手这种使用方式很容易被sql注入。使用PDO和bind参数。您如何看到
user
列是字符串类型?:)我看不到,但我感觉到了:)@WouterH如果
$user
不是字符串,那么查询应该可以正常工作,对吧@我认为你的感情有时会伤害你;)@布万利卡:mysql服务器坏了怎么办?坏的连接字符串?少了一张桌子?缺少一列?忘了把它放在
标签之间?或者根本就没有mysql\u connect?您如何看待
user
列是一种字符串类型?:)我看不到,但我感觉到了:)@WouterH如果
$user
不是字符串,那么查询应该可以正常工作,对吧@我认为你的感情有时会伤害你;)@布万利卡:mysql服务器坏了怎么办?坏的连接字符串?少了一张桌子?缺少一列?忘了把它放在
标签之间?或者根本没有mysql\u connect?您正在演示如何使用
mysqli
,而无需准备语句!对不起,这是一个使用mysqli的错误示例。在执行语句、mysqli\u real\u escape\u字符串或其他阻止mysqli输入的东西之前,应该验证$user。不,您不需要
mysqli\u real\u escape\u字符串
,您必须使用。有了预先准备好的语句,您再也不用关心注入和转义字符串了。这有多酷?:)有趣。但是,他仍然提出了执行查询的解决方案:DEveryone试图告诉OP使用mysqli,而您给出了一个非常糟糕的示例。要么删除答案,要么采用它并使用准备好的语句并绑定$user参数。您正在演示在没有准备好语句的情况下使用
mysqli
!对不起,这是一个使用mysqli的错误示例。在执行语句、mysqli\u real\u escape\u字符串或其他阻止mysqli输入的东西之前,应该验证$user。不,您不需要
mysqli\u real\u escape\u字符串
,您必须使用。有了事先准备好的声明,你永远不必