为SQL请求追加一个PHP字符串



我有一个PHP函数,它使用PDO调用SQL查询。我试图在SQL中使用LIKE操作符找到字符串的匹配,但这需要字符串以'% '开始和结束。

现在我的搜索词来自一个PHP字符串,我想知道是否有任何方法来追加,包括'% '。目前我试着单独添加它,但它似乎不起作用。

function searchBay($address) {
// STUDENT TODO:
// Change lines below with code to retrieve the Bays with similar address from the database
// - - C H E C K - - 
$db = connect();
$sql = "SELECT p.bayid, p.site, p.address, p.avail_wk_start ||' '|| p.avail_wk_end ||' '|| p.avail_wend_start ||' '|| p.avail_wend_end AS avail 
                FROM PeerPark.ParkBay p
                WHERE p.address LIKE (% ':address' %')";
try {
    $stmt = $db->prepare($sql);
    $stmt->bindValue(':address', $address, PDO::PARAM_STR);
    $stmt->execute();
    $row = $stmt->fetchObject();
    $stmt->closecursor();
}   catch (PDOException $e) {
        print "Error searching for bays: " . $e->getMessage();
        die();
}
print_r($row);
return $row; }

将查询结束改为:

p.address LIKE :address

然后像这样发送参数:

$stmt->bindValue(':address', "%$address%", PDO::PARAM_STR);

你应该可以走了

最新更新