-4

I would like to user a variable inside of a PHP MySQL query to represent the WHERE clause like so:

$where= name=mark AND address=4;

$query= "SELECT * FROM clients WHERE $where";

Am I doing this correct? If not, what is the correct what to do so?

4

3 回答 3

1

您的 PHP 方法是正确的,但是您需要在 SQL 中的字符串周围加上单引号,并且还需要用引号将字符串 php 变量括起来,因此您的变量应如下所示:

$where = "name = 'mark' AND address = 4";
$query = "SELECT * FROM clients WHERE {$where}";
于 2013-04-05T04:04:49.297 回答
1

这就是你想要的:

$where = "name= 'mark' AND address= '4'";

$query= "SELECT * FROM clients WHERE $where";

在 $where 的值周围加上双引号。MySQL表字段的值也应该用引号括起来

于 2013-04-05T04:05:35.363 回答
0

您在引号内处理 php 变量的做法是错误的……而且您的语法也是错误的。每当您想在双引号中使用 php 变量时..您应该将其包含在方括号{}中。并且由于您使用$where的是字符串,它应该正确地包含在字符串中

$where= "name='mark' AND address=4";

$query= "SELECT * FROM clients WHERE {$where}";

虽然这在这里可能不相关,但另一个好的做法是在使用带有字符串的 php 变量时使用sprintf()

$query = sprintf("SELECT * FROM clients WHERE %s", $where);
于 2013-04-05T04:12:24.797 回答