gpt4 book ai didi

mysql - SQL - 当用户表单输入搜索条件包含撇号时,数据库搜索会出错

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

我有一个山脉数据库,其名称通常包含撇号,例如贝因·阿克罗因。我的所有搜索条件都工作正常,除非用户通过包含撇号的表单输入搜索,即 Beinn A'Chroin,然后它会抛出错误 - Beinn A 可以工作,Chroin 可以工作,但永远不会使用撇号。由于大多数用户总是会插入正确的名称,包括撇号,我希望始终将其放在表数据中 - 感谢您的帮助 - 谢谢约翰

我的代码的相关部分是:

$srch = $_POST['srch'];


// Prepare query

// Named Mountain Search Search for:



if ($srch != '') { //Options for specific walk types in a specific area selected

$query = "SELECT walk, status, distance, report, dateofwalk FROM walkslist WHERE walk LIKE '%$srch%' ORDER BY walk ASC;";

最佳答案

使用PDO更新您的代码

try {
$conn = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);

$sql = 'SELECT walk, status, distance, report, dateofwalk
FROM walkslist WHERE walk LIKE ? ORDER BY walk ASC;';

$q = $conn->prepare($sql);
$q->execute(array('%$srch%'));
$q->setFetchMode(PDO::FETCH_ASSOC);

while ($r = $q->fetch()) {

}
} catch (PDOException $pe) {
die("Could not connect to the database $dbname :" . $pe->getMessage());
}

关于mysql - SQL - 当用户表单输入搜索条件包含撇号时,数据库搜索会出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33995785/

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