SQL选择类似PHP变量的WHERE字段。
我在使用类似SQL命令的php变量时遇到了一些问题。下面的代码按其应该的方式运行。但是,如果我更改SQL选择类似PHP变量的WHERE字段。,php,mysql,pdo,sql-like,Php,Mysql,Pdo,Sql Like,我在使用类似SQL命令的php变量时遇到了一些问题。下面的代码按其应该的方式运行。但是,如果我更改$model=“Cruze Limited”我没有从数据库中得到任何返回。我希望至少能得到与$model=“Cruze”时相同的结果返回其车型包含“Cruze”的所有车辆 我有一种感觉,我只是错过了一些小的语法错误,但我不能把我的手指放在它。如果是这样的话,我提前道歉 <?php $make = "Chevrolet"; $model = "Cruze"; $trim = "LT"; $
$model=“Cruze Limited”代码>我没有从数据库中得到任何返回。我希望至少能得到与$model=“Cruze”时相同的结果代码>返回其车型包含“Cruze”的所有车辆
我有一种感觉,我只是错过了一些小的语法错误,但我不能把我的手指放在它。如果是这样的话,我提前道歉
<?php
$make = "Chevrolet";
$model = "Cruze";
$trim = "LT";
$year = '2017';
$query = "SELECT *
FROM my_table
WHERE year = '$year'
AND make = '$make'
AND model LIKE '$model%'";
$statement = $db->prepare($query);
$statement->execute();
$
?>
试试这个
$query = "SELECT *
FROM my_table
WHERE year = '$year'
AND make = '$make'
AND LOCATE(model,'$model') > 0";
“我至少希望得到与我在$model=“Cruze”
时得到的结果相同的结果-这不一样。$model%
返回所有以$model
开头的记录,而不是“contains”。检查这一点的一个好方法是以某种方式输出查询。在body标签后面添加
,这至少会为您指明正确的方向。另外,@Syscall是正确的,您应该使用'%$model%'
而不是'$model%'
是的,这很有效!谢谢
$query = "SELECT *
FROM my_table
WHERE year = '$year'
AND make = '$make'
AND LOCATE(model,'$model') > 0";