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";
我在使用带有 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";