php 如何编写sql查询来查找包含撇号的名称?[duplicate]

7fhtutme  于 2022-12-28  发布在  PHP
关注(0)|答案(1)|浏览(131)
    • 此问题在此处已有答案**:

How can I prevent SQL injection in PHP?(27个答案)
昨天关闭。

$sql = ("SELECT vend.[Name] as navname
         
            FROM $table_vendor vend
            WHERE 1 = 1
            AND vend.[Name] LIKE '%' + upper('$navname') + '%'");

如何修改最后一条语句,使其在搜索项中也使用撇号
目前,此搜索不适用于搜索O'BRIEN等名称

lx0bsm1f

lx0bsm1f1#

要修改此语句以处理搜索项中的撇号,可以使用REPLACE函数对搜索项中出现的任何撇号进行转义。

$sql = ("SELECT vend.[Name] as navname
             
                FROM $table_vendor vend
                WHERE 1 = 1
                AND vend.[Name] LIKE '%' + upper(REPLACE('$navname', '''', '''''')) + '%'");

相关问题