SQL SELECT WHERE 字段 LIKE PHP 变量。

SQL SELECT WHERE field LIKE PHP variable.

我在使用带有 SQL LIKE 命令的 php 变量时遇到了一些问题。下面的代码按它应该的方式运行。但是,如果我更改 $model = "Cruze Limited";,我不会从数据库中得到任何 returns。我期待至少与 $model = "Cruze"; 时得到的结果相同,其中 returns 所有模型的车辆都包含 "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();

<

html>
<body>
  <?php while($vehicles = $statement->fetch()): ?>
      <h4><?= $vehicles['year'] ?></h4>
      <h4><?= $vehicles['stock'] ?></h4>
      <h4><?= $vehicles['kms'] ?></h4>
      <h4>$<?= $vehicles['price'] ?></h4>
      <h4><?= $vehicles['make'] ?></h4>
      <h4><?= $vehicles['model'] ?></h4>
      <a href="<?=$vehicles['photos']?>">Photo</a>
  <?php endwhile ?>
<body>
</html>



?>

试试这个

$query = "SELECT *
          FROM my_table
          WHERE year = '$year'
          AND make = '$make'
          AND LOCATE(model,'$model') > 0";