Kutipan tunggal digunakan dalam SQL untuk literal string. Artinya:
'$2'
hanyalah sebuah string yang berisi karakter $
dan 2
daripada sebagai pengganti. Jika Anda menginginkan placeholder, Anda harus menghilangkan tanda kutip:
$Query = pg_query_params($db, '...password=(crypt($2,password))...', array(33,'thepassword'));
Itu memberi Anda placeholder daripada string literal.