prepare("SELECT areas FROM ranks WHERE areas LIKE :area"); $sq-6ren">
gpt4 book ai didi

mysql - PDO MySQL 查询在 LIKE 子句中使用撇号

转载 作者:行者123 更新时间:2023-11-29 22:07:21 25 4
gpt4 key购买 nike

我有以下查询

$area = "AREA V";

$sql = $pdo->prepare("SELECT areas FROM ranks WHERE areas LIKE :area");
$sql->bindValue(':area', '%' . $area . '%');
$sql->execute();
$num = $sql->rowCount();

专栏area包含数据,例如'AREA I', 'AREA V', 'AREA VII' .

问题是当我使用 LIKE '%AREA V%' 执行查询时有结果没有 AREA V但与 AREA VIAREA VII 。没错,也应该如此,但我不希望这样。

我尝试在 LIKE 中添加撇号条款,但我无法让它发挥作用。

我尝试过的事情:

// using apostrophes and PDO::PARAM_STR
$sql = $pdo->prepare("SELECT areas FROM ranks WHERE areas LIKE :area");
$sql->bindValue(':area', '%'' . $area . ''%', PDO::PARAM_STR);

// using IN
$sql = $pdo->prepare("SELECT areas FROM ranks WHERE :area IN (areas)");
$sql->bindValue(':area', $area);

最好的方法是什么?

最佳答案

我假设您正在使用单引号搜索'Area V'。我认为你只需要正确分隔字符串即可。像这样的东西:

// using apostrophes and PDO::PARAM_STR
$sql = $pdo->prepare("SELECT areas FROM ranks WHERE areas LIKE :area");
$sql->bindValue(':area', "%'" . $area . "'%", PDO::PARAM_STR);

您想要的值在 SQL 中表示为 '%''Area V'''。双单引号用于将单引号放入字符串中。

关于mysql - PDO MySQL 查询在 LIKE 子句中使用撇号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32025013/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com