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

PHP PDOException:SQLSTATE[HY093]:Nomor parameter tidak valid

Coba:

$sql = "INSERT INTO persist (user_id, hash, expire)
        VALUES (:user_id, :hash, :expire)
        ON DUPLICATE KEY UPDATE hash=:hash2";

dan

$stm->execute(
    array(":user_id" => $user_id, 
          ":hash" => $hash, 
          ":expire" => $future,
          ":hash2" => $hash)
);

Kutipan dari dokumentasi (http://php.net/manual/en/pdo. persiapan.php ):

Anda harus menyertakan penanda parameter unik untuk setiap nilai yang ingin Anda berikan ke pernyataan saat Anda memanggil PDOStatement::execute(). Anda tidak dapat menggunakan penanda parameter bernama dengan nama yang sama dua kali dalam pernyataan yang disiapkan. Anda tidak dapat mengikat beberapa nilai ke satu parameter bernama di, misalnya, klausa IN() dari pernyataan SQL.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Mengekstrak Substring di MySQL

  2. Impor database MySQL ke dalam MS SQL Server

  3. pendekatan yang lebih baik daripada menyimpan kata sandi mysql dalam teks biasa di file konfigurasi?

  4. Buat kueri mysql dinamis menggunakan variabel php

  5. MySQL - UPDATE query berdasarkan SELECT Query