2015-02-05 125 views
-2

我有一個mysql插入函數,只要我插入數據到數據庫,但我的mysql更新函數出於某種原因似乎不工作...它不會返回任何數據...只是zilch ...甚至沒有錯誤信息...這裏的代碼:希望你可以找出爲什麼它不響應通過升級數據庫 - 主列/鑰匙在這裏是「id」或「$ id」 - 這自動增量本身 - 我改變了ID以彈出隨機值 - 仍然得到相同的結果...這裏的代碼 - 希望你可以修復它!mysql更新不起作用

if ((isset($_POST["submitd"]) && $_POST["submitd"] == "Save") && (strlen((string)$id)==0)&& (strlen($first_name)>0) && (strlen($middle_names)>0) && (strlen($last_name)>0) && (strlen($street)>0)){ 

    $full_name = $first_name." ".$middle_names." ".$last_name; 

$query567="INSERT into records(id,full_name, first_name, middle_names, last_name, street) VALUES('$id','$full_name','$first_name', '$middle_names', '$last_name', '$street');"; 
$vttvk = $dbs -> prepare($query567); 
$vttvk -> execute(array(':id'=>$id,':full_name'=>$full_name,':first_name'=>$first_name,':middle_names'=>$middle_names,':last_name'=>$last_name,':street'=>$street)); 

    } 
else { 
    $query257 = "UPDATE records SET `full_name`=?,`first_name`=?, `middle_names`=?,`last_name`=?,`street`=? WHERE `id`=?"; 

    $opztyz51 = $dbs->prepare($query257); 

    $opztyz51 ->execute(array($full_name, $first_name,$middle_names, $last_name, $street, $id)); 
} 

我希望你能幫助解決這個問題了....

+0

你有沒有試過回顯你的插入字符串,並在SQL中使用它?它工作嗎?很多時間是錯別字 – Andrew

+0

你的'insert'語句似乎不是一個準備好的語句。你把變量直接放在查詢中。 – UserProg

+0

首先,你使用準備好的陳述完全錯誤。 – Shahar

回答

0

機會是,錯誤是由您的準備語句引起的。如果你有這樣的:

$query567="INSERT into records(id,full_name, first_name, middle_names, last_name, street) VALUES('$id','$full_name','$first_name', '$middle_names', '$last_name', '$street');"; 

然後:id:full_name等等都無處可在查詢中發現,並通過指定數組變量不能被綁定到任何東西。我認爲你的意思是做這樣的事情:

$query567="INSERT into records(id,full_name, first_name, middle_names, last_name, street) VALUES(:id,:full_name,:first_name,:middle_names,:last_name,:street);"; 

這樣你也正確地使用準備好的語句。

+0

我編輯它芽...它仍然不工作...你有任何線索,我怎麼能解決這個問題? –

+0

@JosejosemartinezMartinez檢查錯誤:http://php.net/manual/en/pdo.errorinfo.php – Shahar