PHP Hazırlanan İfadeleri kullanma Otomatik Artım Birincil anahtar içeren tabloya veri eklemek olamaz

2 Cevap php

I know I have that my connection to the database works, and a test I did using no auto-increment id worked fine for me. The code below refuses to work and I can't find a a way around it. My table has 3 columns, ID (auto increment), name and value. What do I need to change in order to get this to work?

Şimdiden teşekkürler

//create placeholder query $query = "INSERT INTO prepared_test (name, value) VALUES (?,?)";

//prepare the query $stmt = mysqli_prepare($connection, $query);

$name = 'steve'; $value = 45;

mysqli_bind_param($stmt, array(MYSQLI_BIND_STRING, MYSQLI_BIND_INT), $name, $value); mysqli_execute($stmt);

if(mysqli_stmt_affected_rows($stmt) != 1) die("issues");

mysqli_stmt_close ($ deyim);

$ Baglanti-> close ();

2 Cevap

mysqli_bind_param kalktı ve mysqli_stmt_bind_param sadece bir takma ad olduğunu, mysqli_stmt_bind_param bağlama türleri bir dize değil bir dizi olmasını bekler. bu yüzden sadece bu satırı değiştirin.

mysqli_stmt_bind_param($stmt, 'si', $name, $value);

Ben PDO kullanarak tavsiye ederim (http://ar2.php.net/PDO). Farklı veritabanları için bir nesne yönelimli arayüzü, öyle temiz bir sözdizimi vardır ve RDBMS sizi soyutlayan ;)