PHP:识别成功存储在数据库中的数据的函数

PHP:识别成功存储在数据库中的数据的函数,php,mysql,Php,Mysql,我试图在PHP中找到一种方法,一旦数据成功存储在数据库中,在本例中是注册数据,PHP有一种方法可以识别这一点,可能有一个函数,然后可以执行下一个过程,例如加载一个页面,该页面有一个链接到用户电子邮件进行帐户验证。 加载该页面时,header()也是最好的方法。 我有一种隐秘的感觉,那就是会议可能是一种方式。无论如何,所有的建议都被感激地接受了:(()()())) 我遇到的问题是,我想在特定点执行header(),为此我编写了以下代码: $rowcount = $statemen

我试图在PHP中找到一种方法,一旦数据成功存储在数据库中,在本例中是注册数据,PHP有一种方法可以识别这一点,可能有一个函数,然后可以执行下一个过程,例如加载一个页面,该页面有一个链接到用户电子邮件进行帐户验证。 加载该页面时,header()也是最好的方法。 我有一种隐秘的感觉,那就是会议可能是一种方式。无论如何,所有的建议都被感激地接受了:(()()()))

我遇到的问题是,我想在特定点执行header(),为此我编写了以下代码:

         $rowcount = $statement->rowCount();
         if ($rowcount === 1){
         header('Location:verifyemail.php');
          }
我发现,作为我正在使用的PDO类的一部分,这段代码可以检查MySql数据库中的行是否刚刚通过$statement->execute()更新; 但是,由于已经有输出,标头无法工作,因此出现以下错误: 无法修改标题信息-标题已由发送(输出开始于。。。。。 但是,如果将header()放在输出之前,则会出现以下错误: PHP致命错误:对……中的非对象调用成员函数rowCount()。。。。。。。。。 我需要根据成功的数据库事务使页面重定向,但在我希望执行该事务时,已经有了输出。。。。。。。。。
我见过一个JS解决方案,但如果关闭,该站点将基本上停止正常运行……。

我所知道的最直接的方法是将数据存储在数据库中,然后重新查询数据。如果数据返回,显然是正确存储的


至于是否使用页眉,我看它没有问题。只要确保在设置页眉后,下一行是“exit();”,以便在当前页面上停止执行。

如果无法存储数据,数据库通常会返回错误。使用时,您可以这样做:

$db = new PDO(...);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
try {
   $stmt = $db->prepare('INSERT INTO table (column) VALUES (?)');
   $stmt->execute(array('something'));
   doSomethingWhenInsertWasSuccessful();
}
catch (PDOException $e) {
   doSomethingBecauseInsertWasNotSuccessful();
}

您可以在
doSomethingWhenInsertWasSuccessful()中安全地放置
标题()
函数。除非您的应用程序事先写入任何输出,否则没有理由不这样做。

StackOverflow不是解决这个问题的合适地方。您需要自己编写代码,如果您不确定某些内容为什么不能按预期工作,请在发布代码时解释您希望它做什么,以及实际上,它正在执行包括所有错误消息的操作。请参阅。