Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana cara keluar dari tanda kutip tunggal (tanda kutip) dalam string menggunakan php

Jawabannya adalah Anda tidak perlu melakukannya. Cara yang tepat untuk menggunakan persiapan PDO adalah seperti ini:

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

Ini adalah inti dari penggunaan pernyataan yang disiapkan. Kemudian Anda mengikat parameternya sebagai berikut:

$stmt->bindParam(1, $product_type)

Bukti,

Skema:

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');

Lihat data:

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();
    }
?>

Peramban:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dapatkan entri terakhir menggunakan GROUP BY

  2. Cara paling efisien untuk menemukan sesuatu secara rekursif dalam sebuah tabel?

  3. MYSQL SELECT mencatat lebih dari 1 tahun yang lalu

  4. Koleksi Pernyataan yang Dipetakan tidak mengandung nilai untuk mybatis mapper

  5. SpringDataJPA menyimpan hubungan OneToOne menjadi Tidak dapat menambah atau memperbarui baris anak:batasan kunci asing gagal