2017-07-12 71 views
1

我有一個簡單的代碼來輸入數據到我的數據庫 使用準備和bind_param沒有錯誤PHP數據未插入,但在使用bind_param

沒有錯誤,但我的數據不被輸入到數據庫

$stmt1 = $mysqli -> prepare ("INSERT INTO equipment(eqp_type, eqp_name, eqp_qty, eqp_usd, $eqp_idr) VALUES (?,?,?,?,?)"); 
    $stmt1->bind_param('sssss',$eqp_type, $eqp_name, $eqp_qty, $eqp_usd, eqp_idr); 
    $eqp_type = 'BUC'; 
    $eqp_name = 'BUC test'; 
    $eqp_qty = '1'; 
    $eqp_usd = '0'; 
    $eqp_idr = '0'; 
    $stmt1->execute(); 

是否有任何想法,爲什麼沒有錯誤,但我的數據沒有輸入到數據庫?

+1

你真的在執行查詢嗎? – jeroen

+0

你的執行語句在哪裏? – Sehdev

+0

因爲你沒有執行查詢 –

回答

1

你可能會忘記執行它。

你可以用下面的代碼做到這一點:

$stmt1->execute(); 

所以,你的代碼將如下所示:

$eqp_type = 'BUC'; 
$eqp_name = 'BUC test'; 
$eqp_qty = '1'; 
$eqp_usd = '0'; 
$eqp_idr = '0'; 
$stmt1 = $mysqli -> prepare ("INSERT INTO equipment(eqp_type, eqp_name, eqp_qty, eqp_usd, eqp_idr) VALUES (?,?,?,?,?)"); 
$stmt1->bind_param('sssss',$eqp_type, $eqp_name, $eqp_qty, $eqp_usd, $eqp_idr); 
$stmt1->execute(); 

手冊

PHP: mysqli_stmt::bind_param

+0

對不起,我執行它,我將revice這篇文章,但它仍然無法工作 –

+0

變量呢?他們應該在'bind_params'之前像我的代碼 –

+0

哇!它的作品!謝謝@卡羅爾Gasienica –

1

您需要添加$stmt1->execute(),你會得到錯誤,因爲你也錯過了$eqp_idr