Bu, yeni bir hata olmalı, ancak ben göremiyorum. İşte benim kodundan snippet'idir: Ben $ yılı için değerleri dışarıda yankı ve ben değerleri görüyorum $ yapmak, ama bu komut dosyası çalıştırdığınızda, aşağıdaki uyarısını boş değer almak vePhp mysqi bind_param Değişkenlerin sayısı, hazırlanan ifadedeki parametrelerle eşleşmiyor
$mysqli = mysqli_connect($dbCredentials['hostname'],
$dbCredentials['username'], $dbCredentials['password'],
$dbCredentials['database']);
if ($mysqli->connect_error) {
throw new exception('Connect Error (' . $mysqli->connect_errno . ') '
. $mysqli->connect_error);
}
$stmt = $mysqli->prepare("SELECT DISTINCT model FROM vehicle_types
WHERE year = ? AND make = '?' ORDER by model");
$stmt->bind_param('is', $year, $make);
$stmt->execute();
benim günlük dosyasında görüntülenir: Bu durumda
PHP Warning: mysqli_stmt::bind_param(): Number of variables doesn't match number of parameters in prepared statement
, yıl tipi int veritabanına (10) içinde olduğunu ve bir int döküm olmuştu bir kopyasını geçen denedim ve yapmak (bir varchar 20) utf8_unicode_ci kodlaması ile. Bir şey mi eksik? Sizin Hazırlanan deyimi yanlıştır
ile böyle döküm yapmaya çalışıyorsunuz? ** Bu bind_param yönteminde ** nedir? –
$ Tip dizesidir. "Olan", ilk parametrenin bir tamsayı ve ikincinin bir dize olduğunu belirtmelidir. – TMorgan