2010-05-19 61 views
1

我有此錯誤:mysqli的插入查詢

警告:mysqli_stmt :: bind_param()[mysqli的-stmt.bind-PARAM]:在類型定義字符串元素的數量不於E匹配綁定變量的數:\ WAMP \ WWW \類\ UserLogin.php上線31

,我不知道它是什麼:/

這裏是我的代碼

function createUser($username, $password) { 
$mysql = connect(); 
if($stmt = $mysql->prepare('INSERT INTO users (username, password, alder, hood, fornavn, efternavn, city, ip, level, email) VALUES (?,?,?,?,?,?,?,?,?,?)')) { 
    $stmt->bind_param($username,$password, $alder, $hood, $fornavn, $efternavn, $city, $ip, $level, $email); 
    $stmt->execute(); 
    $stmt->close(); 
} else { 
    echo 'error: ' . $mysql->error; 
} 

然後我的用戶創建的用戶他們只需要輸入用戶名和密碼,然後他們可以編輯配置文件和編輯,電子郵件,al木,引擎蓋等等:)。

回答

2

我相信你bind_param調用應該包括類型規範字符串。在你的情況,可能是這樣的:

$stmt->bind_param('ssssssssis', $username,$password, $alder, $hood, 
    $fornavn, $efternavn, $city, $ip, $level, $email); 

雖然我猜你的數據類型。有關更多信息,請參閱mysqli_stmt :: bind_param文檔頁面。

+0

我有編輯它,我現在不得到任何錯誤回報,但不要把它插入到數據庫中:S – Simon 2010-05-19 13:53:46

+0

如果你沒有在數據庫中的條目,必須有一個錯誤。你檢查與準備一個錯誤,而不是「$ stmt-> bind_param」,也不是「$ stmt->執行」(第二個可能是更重要的)。它們中的任何一個都會返回false?如果是這樣,$ stmt->錯誤應該表明問題。 – 2010-05-19 14:51:54