2009-11-02 73 views
0

我知道我的連接到數據庫的工作,並且我沒有使用自動遞增ID的測試對我來說工作得很好。下面的代碼拒絕工作,我無法找到解決辦法。我的表有3列,ID(自動增量),名稱和值。 爲了使這個工作正常,我需要改變什麼?不能將數據插入到包含自動遞增主鍵的表中使用PHP準備好的語句

在此先感謝

//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($stmt); 

$connection->close(); 

回答

3

mysqli_bind_param被棄用,只是mysqli_stmt_bind_param的別名,mysqli_stmt_bind_param預計綁定類型是字符串不是一個數組。所以只要改變那一行。

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

乾杯的人,工作過一種享受! :) – Drew

0

我建議你使用PDO(http://ar2.php.net/PDO)。這對不同數據庫的面向對象的接口,它有一個清潔器的語法和從RDBMS摘要你)

+1

他問他爲什麼不能插入,而不是哪個有scleaner語法。 – streetparade

+0

是的,我只是給了一個建議:) – alcuadrado

相關問題