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

PHP PDO lolos dari tanda tanya sehingga tidak menganggapnya sebagai pengganti

PDO tidak bingung dengan tanda tanya di dalam tanda kutip. Saya baru saja menguji ini dengan PHP 5.5.15.

$sql = "SELECT CONCAT('path/to/page/?id=', id) AS link FROM foo WHERE name = ?;";
$stmt = $pdo->prepare($sql);
$stmt->bindValue(1, 'name');
$stmt->execute();
print_r($stmt->fetchAll());

Ini berfungsi dengan baik, tanpa kesalahan tentang jumlah parameter yang salah. Kesalahan Anda disebabkan oleh cara Anda mengikat parameter, bukan oleh sintaks SQL.

Saya menduga Anda belum menunjukkan kepada kami seluruh kueri SQL, karena WHERE tanpa FROM adalah kesalahan sintaksis. Jadi, Anda harus memiliki placeholder parameter tambahan yang belum Anda tunjukkan kepada kami. Akan sangat membantu jika Anda menunjukkan kepada kami cara Anda mengikat parameter (atau meneruskan parameter ke execute()).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Memasukkan NULL ke dalam stempel waktu MySQL

  2. Fungsi Agregat MySQL tanpa klausa GROUP BY

  3. PERBARUI dengan SUM() di MySQL

  4. Gabung dalam 2 tabel dengan nama kolom yang sama

  5. Cara Mengubah Detik ke Nilai Waktu di MySQL