2016-12-28 68 views
0

我有5列的表格,其中第一列是一個主鍵並具有AUTO_INCREMENT attribute.I正在嘗試使用下面的代碼行插入表匹配綁定:PHP類型定義不PARAMS

<?php 

include "DBConstants.php"; 

$db = new DBConstants(); 

$connection = new mysqli($db->SERVER_NAME,$db->DB_USERNAME,$db->DB_PASSWORD,$db->DB_NAME); 
$query = "INSERT INTO mailinglist (email, validationID, usRequest, isValidated) VALUES (?,?,?,?)"; 

$statement = $connection->prepare($query); 

$email = $_GET["email"]; 
$validationID = openssl_random_pseudo_bytes (10, $crstrong); 
$usRequest=false; 
$isValidated = false; 

$statement->bind_param($email,$validationID,$usRequest,$isValidated); 
$statement->execute(); 

$statement->close(); 
$connection->close(); 

$array = array("result"=>true,"message"=>"You have successfully subscribed"); 
echo json_encode($array); 

?> 

但我得到這樣的警告:

Warning: mysqli_stmt::bind_param(): Number of elements in type definition string doesn't match number of bind variables 

,因此該表沒有被更新。任何人都可以告訴我我哪裏出錯了。

ThankYou。

回答

1

bind_param的第一個參數應該是相應綁定變量的類型。

$statement->bind_param('sisi', $email, $validationID, $usRequest, $isValidated); 

注:根據您的數據類型在第一個參數更改類型。

Reference Link