2014-02-19 47 views
0

這是代碼無法正常工作。錯誤:解析錯誤:語法錯誤,意外的'$ age'(T_VARIABLE)在...目錄中。PHP綁定parm總是顯示錯誤

 $name = trim($_POST['name']); 
     $age = trim($_POST['age']); 
     $insert= $db->prepare("INSERT INTO data (age, name, created) VALUES (?, ?, NOW())"); 
     $insert->bind_param('is' $age, $name); 

     if($insert->execute()){ 

     echo 'record added'; 
     die(); 
     } 
+0

簡單的語法錯誤:'$插入 - > bind_param( '是' $年齡,$名);',加上',''後 '身份證' '... – Yoshi

+0

嘗試連接'$ insert-> bind_param('is'。$ age,$ name);' –

+0

var_dump(gettype($ _ POST ['age']));返回?注意修剪功能只能將字符串作爲參數 –

回答

0

你缺少類型規範字符後,is):

$insert->bind_param('is' $age, $name); 

應該是:

$insert->bind_param('is',$age, $name); 

所有的參數應由,

+0

我認爲''is''不是一個參數,我認爲他試圖將'is'與'$ age'連接起來。 –

+0

@Codrutz Codrutz:''is''是類型說明字符。這裏我是整數,s是字符串。 –

+0

我可以知道downvote的原因嗎? –

1

分開我相信你沒有遵循PDO規則來準備e並執行任何查詢。

請參閱以下網址,

PDO::prepare

我希望這會幫助你。

0

您在這裏混的mysqli代碼PDO

$name = trim($_POST['name']); 
     $age = trim($_POST['age']); 
     $insert= $db->prepare("INSERT INTO data (age, name, created) VALUES (?, ?, NOW())"); 
     $insert->->bindParam(1, $age, PDO::PARAM_INT); 
     $insert->->bindParam(2, $name, PDO::PARAM_STR, 12);//Change 12 to suit 
     if($insert->execute()){