2

次のような更新されたクエリを作成する必要があります。

"UPDATE users SET email_code='1' WHERE id=".$id." AND email_code='".$email_code."'";

行が更新された場合は、設定します$_SESSION['verified']=1

したがって、その行が更新されているかどうかを知る必要があります。

それを知る方法はありますか?または、その行が存在するかどうかを知るために、最初に SELECT クエリを作成する必要がありますか?

4

4 に答える 4

6

を使用mysqli_affected_rowsして、クエリの実行後に変更された行があるかどうかを確認できます。

if(mysqli_affected_rows($link) > 0){
    // do session stuff
}
于 2012-06-13T16:51:43.937 に答える
1

ユーザーテーブルの UPDATE で MySQL にトリガーを設定し、MySQL にスクリプトを実行させて、そのセッションにアクセスする変数を設定することができます。しかし、それは後部の不必要な大きな痛みになるでしょう.

その行が存在するかどうかを確認して確認し、必要なセッションを更新するために必要なページに AJAX ハートビートを作成します。その方がきれい。

于 2012-06-13T16:51:17.307 に答える
1

mysql_mysqli_関数ファミリーの中にはmysqli_affected_rowsと がありmysql_affected_rowsます。私は PDO にあまり詳しくありませんが、確かに似たようなものがあるに違いありません。

于 2012-06-13T16:53:20.520 に答える
0

クエリが true または false を返したかどうかを確認し、それに応じて $_SESSION['verified'] を設定することもできます。http://php.net/manual/en/function.mysql-query.php

http://www.php.net/manual/en/mysqli.query.php

于 2012-06-13T17:12:23.390 に答える