Php 有没有办法知道行是否已更新?
我需要进行如下更新查询:Php 有没有办法知道行是否已更新?,php,mysql,Php,Mysql,我需要进行如下更新查询: "UPDATE users SET email_code='1' WHERE id=".$id." AND email_code='".$email_code."'"; 如果行已更新,则将会话['verified']=1设置为$\u 因此,我必须知道该行是否已更新 有办法知道吗?或者我必须首先进行一个SELECT查询,以了解该行是否存在?您可以在MySQL中为users表的更新设置一个触发器,并让MySQL运行一个脚本来设置访问该会话的变量。但这会给后面带来不必要的巨
"UPDATE users SET email_code='1' WHERE id=".$id." AND email_code='".$email_code."'";
如果行已更新,则将会话['verified']=1设置为$\u
因此,我必须知道该行是否已更新
有办法知道吗?或者我必须首先进行一个SELECT查询,以了解该行是否存在?您可以在MySQL中为users表的更新设置一个触发器,并让MySQL运行一个脚本来设置访问该会话的变量。但这会给后面带来不必要的巨大痛苦
我会在页面上创建一个AJAX心跳信号,以检查该行是否存在,然后更新所需的会话。通过这种方式进行清理。您可以使用mysqli\u受影响的行
查看在执行查询后是否有任何行被更改
if(mysqli_affected_rows($link) > 0){
// do session stuff
}
在mysql
和mysqli
函数系列中,有和。我对PDO不是很熟悉,但肯定有类似的地方。您还可以检查查询是否返回true或false,并相应地设置$\u会话['verified']
您是否需要一个观察者,如果任何表行被更新,它会触发某种事件?还是只想检查更新是否成功?或者,如果不存在要更新的行,您想插入吗?或者,如果他选择的话,从PDO库插入。)这样我就必须使用Mysqli类。是否?您可以自由使用任何您想要的类,如果您使用的是mysql.*
,那么您可以使用mysql.\u受影响的行
,但不鼓励这样做。