Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cách thoát dấu nháy đơn (dấu nháy đơn) trong chuỗi bằng php

Câu trả lời là bạn không cần. Cách thích hợp để sử dụng chuẩn bị của PDO là như sau:

$stmt = $pdo->prepare(
   "SELECT * FROM `products_keywords` WHERE `product_type` = ?");

Đây là toàn bộ điểm của việc sử dụng một câu lệnh đã soạn sẵn. Sau đó, bạn ràng buộc tham số như sau:

$stmt->bindParam(1, $product_type)

Bằng chứng,

Lược đồ:

create table `products_keywords`
(   `id` int not null,
    `products_keywords` varchar(1000) not null,
    `product_type` varchar(100) not null
);
insert `products_keywords` (`id`,`products_keywords`,`product_type`) values  
(1,'zoom lawn cut mower',"Lawn Mower"),
(2,'stylish torso Polo','Men\'s Shirt');

Xem dữ liệu:

select * from `products_keywords`;
+----+---------------------+--------------+
| id | products_keywords   | product_type |
+----+---------------------+--------------+
|  1 | zoom lawn cut mower | Lawn Mower   |
|  2 | stylish torso Polo  | Men's Shirt  |
+----+---------------------+--------------+

PHP:

<?php
    // turn on error reporting, or wonder why nothing is happening at times
    error_reporting(E_ALL);
    ini_set("display_errors", 1);    

    $servername="localhost";
    $dbname="so_gibberish";
    $username="nate123";
    $password="openSesame1";

    try {
        $pdo = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
        $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        $pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);

        $product_type="Men's Shirt";
        $stmt = $pdo->prepare("SELECT * FROM `products_keywords` WHERE `product_type` = ?");
        $stmt->bindParam(1, $product_type);
        $stmt->execute();
        while($row = $stmt->fetch()) {
            echo $row['id'].", ".$row['products_keywords'].", ".$row['product_type']."<br/>";
        }
    } catch (PDOException $e) {
        echo 'pdo problemo: ' . $e->getMessage();   // dev not production code
        exit();
    }
?>

Trình duyệt:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Laravel Raw DB Chèn hàng bị ảnh hưởng

  2. tìm kiếm một phần từ mysql

  3. CẬP NHẬT hoặc XÓA trước rồi CHÈN

  4. Truy vấn cơ sở dữ liệu quan hệ thông qua Google DataFlow Transformer

  5. Cách SET SQL_BIG_SELECTS =1 trong câu lệnh Tham gia Laravel