Boolean değerleri bağlama ile PHP5 SQLi bind_param sorun

2 Cevap php

Ben PHP5'ta mysqli_stmt :: bind_param kullanarak booleans bağlayıcı bir sorun var.

SQL sorgusu aşağıdaki: değerleri (okuma, konu, messageid, receivedate) nvp_notes takın (,,,??)

'Oku' Ben mysqli kullanarak biraz sorunlar yaşadım, 0 veya 1 ya, bir tinyint olduğu. Yani bind_param listelenecek türleri şunlardır:

$stmt->bind_param('sdsd', ...);

Ben de 'sdsb' çalıştı ve 'SDSS' ama hiçbir şey iş gibi görünüyor, ve ben her zaman mesaj almak ettik:

Warning: mysqli_stmt::bind_param(): Number of variables doesn't match number of parameters in prepared statement

Ben açıklamada okuma alanını çıkardığınızda her şey çalışıyor. Ben bu bir fikir tükendi. Şüphesiz bind_param booleans ile çalışır?

2 Cevap

Sen intval() kullanarak 1 veya 0'a boolean dönüştürmek (veya (int) veya (integer) ile cast) olabilir. mysqli_stmt::bind_param()'s documentation göre, bağlanabilen tek tip ints, çiftler, dizeleri, ve lekeler vardır.

Cevabınız için teşekkürler, ben nihayet (tip döküm çalışıyor ve hatta sorguda bir 1 veya 0 olarak sabitleme tarafından bind_param dışarı çıktıktan sonra) sorunu çözmek için başardı. Neyse, 'oku' MySQL ayrılmış bir sütun adı, bu yüzden sadece sütun adını değiştirdi ve iyi çalışıyor. Bu tür sorunları için ancak bu belirli bir hata mesajı almak için garip görünüyor.