mysql更新无法正常工作

时间:2015-02-05 02:43:48

标签: php mysql database updates

我有一个mysql插入函数,每当我将数据插入数据库时​​都可以工作,但我的mysql更新函数由于某种原因似乎不起作用...它不返回任何数据...只是zilch ..甚至没有错误信息...这里是代码:希望你能通过升级数据库找出它没有响应的原因 - 这里的主要列/键是“id”或“$ id” - 自动增加 - 我改变了id也可以弹出随机值 - 仍然得到相同的结果......这是代码 - 希望你能解决它!

    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));
}

我希望你能帮忙解决这个问题....

1 个答案:

答案 0 :(得分: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);";

这样你也可以正确使用准备好的陈述。