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

Kesalahan PHP:Panggil ke fungsi anggota rowCount() pada non-objek

Kami kemungkinan besar berurusan dengan string di sini, jadi variabel dalam nilai Anda perlu dikutip.

WHERE ens_cin='$login' AND ens_pass='$password'";

Plus, hanya menggunakan PDO sendiri, tidak berarti Anda aman terhadap injeksi SQL.

Sebuah wawasan:

Pastikan Anda benar-benar terhubung melalui PDO dan bukan mysqli_ . Saya sering melihat pertanyaan seperti ini.

Jika demikian, API MySQL yang berbeda tersebut tidak saling bercampur.

Sekarang ini:

$password=$_GET["password"];

Melewati kata sandi melalui GET juga tidak aman; Anda tidak tahu siapa yang mungkin "mendengarkan". Anda harus menggunakan POST. Saya juga berharap Anda menggunakan hash dan bukan teks biasa untuk penyimpanan kata sandi.

Sidenote:Pastikan Anda memang menggunakan GET dan tidak tercampur dengan POST, jika ini berasal dari bentuk HTML.

Anda mungkin tidak memeriksa kesalahan.

Tambahkan $idconnex->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); tepat setelah koneksi dibuka.

Tambahkan pelaporan kesalahan ke bagian atas file Anda yang akan membantu menemukan kesalahan.

<?php 
error_reporting(E_ALL);
ini_set('display_errors', 1);

// rest of your code

Catatan tambahan: Pelaporan kesalahan hanya boleh dilakukan dalam tahap, dan bukan produksi.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ini_set, set_time_limit, (max_execution_time) - tidak berfungsi

  2. Mengambil hanya sejumlah baris tetap di MySQL

  3. Bagaimana cara mengaktifkan mysqlnd untuk php?

  4. Hitung baris di mysql berdasarkan grup

  5. Menggunakan LIMIT 1 di MySQL