mysql搜索不返回值

时间:2012-08-21 06:30:55

标签: php mysql

我有这样的查询

SELECT * FROM products WHERE status="active" AND product_name LIKE "%sony\'s%"

但它没有返回结果,而在产品表中我有一个名为“Sony \'s”的产品

如果有人有,请给我解决。

由于

2 个答案:

答案 0 :(得分:1)

使用 PDO MYSQLI

使用PDO扩展的示例:

<?php


    $name = "active";
    $value = "%" + $product_name + "%";

    $stmt = $dbh->prepare("SELECT * 
                           FROM  products
                           WHERE status = ? AND 
                                 product_name LIKE ?");
    $stmt->bindParam(1, $name);
    $stmt->bindParam(2, $value);

    $stmt->execute();

?>

这将允许您使用带单引号的记录。

答案 1 :(得分:1)

将“%sony \'s%”替换为'%sony''s%'

e.g。

SELECT * FROM products WHERE status="active" AND product_name LIKE '%sony''s%'