MYSQL PHP中的Like Query问题

时间:2014-08-16 00:04:35

标签: php mysql pdo sql-like

以下问题:

如果我想使用“姓氏”进行搜索,则可以使用,但如果它是此格式的变量$results['22']['BuyerName2']

这是我到目前为止所得到的:

$rr=$results[22]['BuyerName2'];
echo $rr; //echos Last Name

$stmt = $db->prepare("Update base_1 SET UpdateStatus=2 WHERE BuyerName LIKE ?");
$stmt->bindValue(1, "%$rr%", PDO::PARAM_STR);
$stmt->execute();

如果我将$rr名称直接放在绑定值部分中,则可以正常工作。但不是$rr

2 个答案:

答案 0 :(得分:3)

也许$rr中有额外的空格。尝试:

$rr = trim($results[22]['BuyerName2']);

答案 1 :(得分:1)

在行中:

$stmt->bindValue(1, "%$rr%", PDO::PARAM_STR);

我不确定$绑定的字符串中是否会转义$。据我所知,只有下划线和百分号保持未转义状态。我建议尝试:

$rr = "%".$rr."%";

并将该行编辑为:

$stmt->bindValue(1, $rr, PDO::PARAM_STR);