Php mysql更新不工作

Php mysql更新不工作,php,mysql,database,updates,Php,Mysql,Database,Updates,我有一个mysql insert函数,每当我向数据库中插入数据时都可以使用,但是我的mysql更新函数由于某种原因似乎不起作用。。。它不会返回任何数据。。。就这么简单。。。甚至没有错误消息。。。下面是代码:希望您可以通过升级数据库找出它没有响应的原因-这里的主列/键是“id”或“$id”-自动递增-我更改了id以弹出随机值-仍然得到相同的结果。。。这是代码-希望你能把它修好 if ((isset($_POST["submitd"]) && $_POST["submitd"

我有一个mysql insert函数,每当我向数据库中插入数据时都可以使用,但是我的mysql更新函数由于某种原因似乎不起作用。。。它不会返回任何数据。。。就这么简单。。。甚至没有错误消息。。。下面是代码:希望您可以通过升级数据库找出它没有响应的原因-这里的主列/键是“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));
}

我希望您能帮助解决这个问题。…

错误可能是由您准备的声明引起的。如果您有:

$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);";

这样,您也可以正确地使用准备好的语句。

您是否尝试过回显您的插入字符串并仅在SQL中使用它?它有用吗?很多时候,我们的
insert
语句似乎不是预先准备好的语句。您将变量直接放在查询中。首先,您使用的预处理语句完全错误。
$full\u name=$first\u name.““$middle\u name.”“$last\u name,然后将所有四个都放在表中,顺便说一句,这会破坏3NF。有时这对速度来说是很理想的,但如果是这样的话,它确实应该由触发器来完成,以便数据保持一致。我编辑了它,巴德……它仍然不起作用……你有任何线索知道我可以如何解决这个问题吗?@josejosemartinez检查错误: