2014-10-20 101 views
0

我正在嘗試使用參數化SQL做INSERT。我是新參數化的SQL。我的表名是archpedia.full_developers (db.table)參數化SQL:插入不起作用

我的連接也正常工作。我在我的數據庫archpedia上創建了只有SELECT, INSERT, UPDATE權限的自定義用戶。我甚至用root檢查了SQL,只是爲了確認用戶權限是否存在一些錯誤,但即使root似乎也不起作用。

這裏是我的PHP:

$query = "INSERT INTO full_developers (fullname, username, email, password, project, phone, token, salt) VALUES (?, ?, ?, ?, ?, ?, ?)"; 
    $insert_stmt = $mysqli->prepare($query); 
    echo "ok?"; 
    if ($insert_stmt) { 
     $insert_stmt->bind_param('sssssiss', $fullname, $username, $email, $password, $project, $phone, $uniqueToken, $random_salt); 
     //$insert_stmt->execute(); 
     // Execute the prepared query. 
     echo "check"; 
     if (! $insert_stmt->execute()) { 
      header('Location: ../error.php?err=Registration failure: INSERT'); 
     } 
    } 
    //header('Location: ./register_success.php'); 

那麼我的錯誤是$insert_stmt->prepape($query);不起作用。我沒有得到任何錯誤。當我在聲明中回顯「檢查」以查看天氣$insert_stmt正在工作與否時,它從不顯示。我無法知道我在哪裏做錯了,因此任何幫助都會感激。

+1

您試圖插入8個值,但在查詢中只有7個佔位符。 – 2014-10-20 04:36:58

回答

2

第一,如果你有8個值(缺少一個)

VALUES (?, ?, ?, ?, ?, ?, ?) 

添加8個佔位符的8個值

VALUES (?, ?, ?, ?, ?, ?, ?, ?) 

錯誤報告檢查進一步的錯誤

+0

謝謝你。該死的我怎麼可能錯過這樣一個愚蠢的事情。也許在匆忙中。 – 2014-10-20 04:59:28

2

$查詢=「INSERT INTO full_developers(全名,用戶名,電子郵件,密碼,項目,電話,令牌,鹽)VALUES(?,?,?,?,?,?,?,?)」;

/用此替換您的查詢。/