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

Dapatkan Komentar Pengguna Dari Mysql menggunakan Php

Anda menggunakan tanda kutip tunggal dalam pernyataan sisipan Anda :

$sth3 = $pdo3->prepare('
    INSERT INTO Comment (info, pID, cID)
    VALUES($comm, $pID3, $cID)
');

Dengan kutipan sederhana itu, $comm tidak akan dievaluasi -- dan literal $comm string akan dikirim ke database -- menghasilkan sesuatu yang mungkin tidak Anda harapkan.


Jika Anda ingin variabel diinterpolasi, Anda harus menggunakan tanda kutip ganda di sekitar string Anda .

Namun, saat Anda mencoba menggunakan pernyataan yang sudah disiapkan, bukan itu yang harus Anda lakukan , sebenarnya.

Sebaliknya, Anda harus menggunakan placeholder dalam pernyataan -- dan, kemudian, ikat itu ke data Anda, saat menjalankan pernyataan.


prepareYour akan terlihat sedikit seperti ini, saya kira :

$sth3 = $pdo3->prepare('
    INSERT INTO Comment (info, pID, cID)
    VALUES(:comm, :pID3, :cID)
');

Perhatikan :comm , :pID3 , dan :cID placeholder.

Dan, kemudian, saat menjalankan pernyataan, Anda benar-benar akan melewatkan beberapa data nyata, agar sesuai dengan placeholder :

$sth3->execute(array(':comm' => $comm,':pID3' => $pID3,':cID' => $cID,));


Catatan tambahan :karena Anda menggunakan pernyataan yang telah disiapkan, Anda tidak perlu menggunakan mysql_real_escape_string() (yang bukan fungsi terkait PDO, BTW, dan hanya boleh digunakan saat bekerja dengan mysql_* fungsi) :pelarian ditangani oleh mekanisme pernyataan yang disiapkan itu sendiri.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Masalah dengan JPA, EclipseLink, dan mysql case sensitif

  2. cara menghitung nilai kolom unik di mysql

  3. Dapatkan hasil dari posting saya sendiri dan teman

  4. KASUS di WHERE CLAUSE di MYSQL

  5. Merantai orX di pembuat kueri Doctrine2