Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.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_Sql - Fatal编程技术网

Php Mysql限制性

Php Mysql限制性,php,mysql,sql,Php,Mysql,Sql,我在PHP中有两个变量(我们称它们为'var1'和'var2')和一个sql命令,如下所示: $sql = "SELECT `id`, `name` FROM `table` WHERE `var` = '{$var1}'" if ($var2) { $sql.= "AND `var`={$var2}"; } 变量var1始终设置,但var2未设置。我想知道var2设置为仅对var2应用WHERE子句的时间。这意味着var2比var1更具限制性。如何使用SQL语言执行此操作。如果我理解正确

我在PHP中有两个变量(我们称它们为'var1'和'var2')和一个sql命令,如下所示:

$sql = "SELECT `id`, `name` FROM `table` WHERE `var` = '{$var1}'"
if ($var2) {
  $sql.= "AND `var`={$var2}"; }

变量
var1
始终设置,但var2未设置。我想知道var2设置为仅对var2应用WHERE子句的时间。这意味着var2比var1更具限制性。如何使用SQL语言执行此操作。

如果我理解正确,您希望执行此操作-

if ($var2) {
    $sql = "SELECT `id`, `name` FROM `table` WHERE `var` = '{$var2}'";

} else {
    $sql = "SELECT `id`, `name` FROM `table` WHERE `var` = '{$var1}'";
}
$sql = "SELECT `id`, `name` FROM `table` ";
if($var2) {
    $sql .= "WHERE `var` = '{$var2}'";
} else {
    $sql .= "WHERE `var` = '{$var1}'";
}
如果您想使用SQL来实现这一点,您可以使用如下内容-

SELECT `id`, `name`, `variable`
    CASE variable
        WHEN 'var1' = variable THEN a = var1
        WHEN 'var2' = variable THEN a = var2
    END
FROM `table`
WHERE `foo` = a

在不了解更多代码或使用示例数据的情况下,很难开发演示,但这应该可以让您开始。

如果我理解正确,您希望这样做-

$sql = "SELECT `id`, `name` FROM `table` ";
if($var2) {
    $sql .= "WHERE `var` = '{$var2}'";
} else {
    $sql .= "WHERE `var` = '{$var1}'";
}
如果您想使用SQL来实现这一点,您可以使用如下内容-

SELECT `id`, `name`, `variable`
    CASE variable
        WHEN 'var1' = variable THEN a = var1
        WHEN 'var2' = variable THEN a = var2
    END
FROM `table`
WHERE `foo` = a

在不了解更多代码或使用示例数据的情况下,很难开发演示,但这应该可以让您开始。

如果我理解正确,您希望这样做-

$sql = "SELECT `id`, `name` FROM `table` ";
if($var2) {
    $sql .= "WHERE `var` = '{$var2}'";
} else {
    $sql .= "WHERE `var` = '{$var1}'";
}
如果您想使用SQL来实现这一点,您可以使用如下内容-

SELECT `id`, `name`, `variable`
    CASE variable
        WHEN 'var1' = variable THEN a = var1
        WHEN 'var2' = variable THEN a = var2
    END
FROM `table`
WHERE `foo` = a

在不了解更多代码或使用示例数据的情况下,很难开发演示,但这应该可以让您开始。

如果我理解正确,您希望这样做-

$sql = "SELECT `id`, `name` FROM `table` ";
if($var2) {
    $sql .= "WHERE `var` = '{$var2}'";
} else {
    $sql .= "WHERE `var` = '{$var1}'";
}
如果您想使用SQL来实现这一点,您可以使用如下内容-

SELECT `id`, `name`, `variable`
    CASE variable
        WHEN 'var1' = variable THEN a = var1
        WHEN 'var2' = variable THEN a = var2
    END
FROM `table`
WHERE `foo` = a



如果不了解更多的代码或使用示例数据,则很难开发演示,但这应该可以让您开始。

我不太清楚,您的代码看起来是正确的。是否要更改为
其中的“`var`='{$var2}”
?请注意SQL注入!他没有显示任何用户输入来引起对SQL injection@MrTuxIt不使用准备好的语句或转义您输入到SQL查询中的内容的不良做法的担忧。根据上下文,您不知道它不是来自任何不可信源的输入@JayBlanchardTrue,但我也没有发布“不要使用
mysql\uuz
”函数警告,因为我们还没有足够的资源继续讨论。我们不知道
$var1
$var2
不是转义的结果@mrtux不确定我是否理解,您的代码看起来是正确的。是否要更改为
其中的“`var`='{$var2}”
?请注意SQL注入!他没有显示任何用户输入来引起对SQL injection@MrTuxIt不使用准备好的语句或转义您输入到SQL查询中的内容的不良做法的担忧。根据上下文,您不知道它不是来自任何不可信源的输入@JayBlanchardTrue,但我也没有发布“不要使用
mysql\uuz
”函数警告,因为我们还没有足够的资源继续讨论。我们不知道
$var1
$var2
不是转义的结果@mrtux不确定我是否理解,您的代码看起来是正确的。是否要更改为
其中的“`var`='{$var2}”
?请注意SQL注入!他没有显示任何用户输入来引起对SQL injection@MrTuxIt不使用准备好的语句或转义您输入到SQL查询中的内容的不良做法的担忧。根据上下文,您不知道它不是来自任何不可信源的输入@JayBlanchardTrue,但我也没有发布“不要使用
mysql\uuz
”函数警告,因为我们还没有足够的资源继续讨论。我们不知道
$var1
$var2
不是转义的结果@mrtux不确定我是否理解,您的代码看起来是正确的。是否要更改为
其中的“`var`='{$var2}”
?请注意SQL注入!他没有显示任何用户输入来引起对SQL injection@MrTuxIt不使用准备好的语句或转义您输入到SQL查询中的内容的不良做法的担忧。根据上下文,您不知道它不是来自任何不可信源的输入@JayBlanchardTrue,但我也没有发布“不要使用
mysql\uuz
”函数警告,因为我们还没有足够的资源继续讨论。我们不知道
$var1
$var2
不是逃避事物的结果@MrTux@S直到用户编辑了问题并添加了那句话,它才停止。也许你可以试着解决这个问题,而不是像那样跳到我身上?@Xatenev这句话是在我的回答之后加上的。感谢您在评论方面做了如此有用的工作。@Sébastien直到用户编辑了问题并添加了那句话,您才这么做。也许你可以试着解决这个问题,而不是像那样跳到我身上?@Xatenev这句话是在我的回答之后加上的。感谢您在评论方面做了如此有用的工作。@Sébastien直到用户编辑了问题并添加了那句话,您才这么做。也许你可以试着解决这个问题,而不是像那样跳到我身上?@Xatenev这句话是在我的回答之后加上的。感谢您在评论方面做了如此有用的工作。@Sébastien直到用户编辑了问题并添加了那句话,您才这么做。也许你可以试着解决这个问题,而不是像那样跳到我身上?@Xatenev这句话是在我的回答之后加上的。感谢您在评论方面做了如此有用的工作。然后在您的答案中写下:)仔细阅读问题,他用SQL语言写了
我怎么能做到这一点。
我不确定他的意思是@Xatenev:)我会要求澄清。添加了纯SQL解决方案@Xatenev然后在您的答案中写下:)仔细阅读问题,他用SQL语言写了
我怎么能做到这一点。
我不确定他的意思是@Xatenev:)我会要求澄清。添加了一个纯SQL解决方案@xatenevt,然后写在你的答案中:)仔细阅读问题,他用SQL语言写了
我怎么能做到这一点。
我不确定他的意思是@Xatenev:)我会要求澄清。添加了一个纯SQL解决方案@xatenevt,然后写在你的答案中:)仔细阅读问题,他用SQL语言写了
我该怎么做。
我不确定他是说@Xatenev:)我会要求澄清。添加了一个纯SQL解决方案@Xatenev