MySql LIKE查询在一个表单



那么,我有这个查询:

FROM test.cliente, test.contratto
WHERE test.contratto.Codice_Cliente = test.cliente.Codice_Cliente
AND test.cliente.Denominazione = :name;

但是我正在尝试这样做:

FROM test.cliente, test.contratto
WHERE test.contratto.Codice_Cliente = test.cliente.Codice_Cliente<
AND test.cliente.Denominazione LIKE "%:name%";

我想使用这个查询的原因是因为用户在html表单中输入了一个名字,但我不希望他输入的数据与我在数据库中输入的数据相同,因为他输入的数据不可能与数据库中写入的数据相同。


代码如下:

$name = $_POST['Denominazione'];
$statement = $connection->prepare($sql);
$statement->bindParam(':name', $name, PDO::PARAM_STR);
$statement->execute();
$result = $statement->fetchAll();

我也试着输入

$name = '%'.$_POST['Codice_Cliente'].'%';

但是它什么也没找到。

PDO准备语句不允许在SQL语句中使用%。

You have to use "FROM test.cliente, test.contratto
WHERE test.contratto.Codice_Cliente = test.cliente.Codice_Cliente
AND test.cliente.Denominazione LIKE :name";

并加上"%name%"在execute.

请参见:

如何使用LIKE语句创建PDO参数化查询?

PHP -使用PDO与IN子句数组

相关内容

  • 没有找到相关文章

最新更新