Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

ODBC dan SQL Server 2008:Tidak dapat menggunakan pernyataan yang disiapkan?

Saya tidak pernah menggunakan metode fetchObject tapi bagaimana dengan ini:

$stmt = $pdo->prepare("SELECT * FROM Users WHERE username=?");
$stmt->bindValue(1, $username);
try{
    $stmt->execute();
    while ($row = $stmt->fetch()){
       // Do whatever.
    }
}catch(PDOException $e){
    echo($e->getMessage());
}

Saya juga memperhatikan tanda kutip tunggal di sekitar tanda tanya Anda ('?'), seharusnya tidak ada di sana.

Untuk menggunakan item coba/tangkap, Anda harus menyertakan ini saat membuat koneksi PDO:

$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

Dan Anda mungkin ingin menambahkan ini juga:

$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, FALSE); // Try to use the driver's native prepared statements.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kesalahan - SqlDateTime meluap. Harus antara 1/1/1753 12:00:00 dan 31/12/9999 11:59:59 malam

  2. com.microsoft.sqlserver.jdbc.SQLServerException:Sambungan TCP/IP ke host localhost, port 1433 telah gagal

  3. Bagaimana Anda bisa mengonversi tinyint t-sql ke integer di c #?

  4. pencarian sql dari string csv

  5. Beberapa Koneksi Dengan String Koneksi Yang Sama Dalam Satu Transaksi, Transaksi Ditingkatkan?