PHP エラー メッセージを解決するにはどうすればよいですか?試してみましたが、まだ成功しません。
P粉773659687
2023-08-08 12:34:18
<p><br /></p>
<pre class="brush:php;toolbar:false;">functionconfirmUserID($session_id, $userid) {
/* ユーザーがデータベースに存在することを確認します */
$query = "SELECT session_id FROM user_sessions WHERE session_id = '$session_id' AND userid = '$userid'";
$stmt = $this->db->prepare($query);
$stmt->execute(array(':userid' => $userid, ':sessionid' => $session_id)); // エラー メッセージは、ここから送信されていることを示します
$count = $stmt->rowCount();
if (!$stmt || $count < 1) {
1 を返します。 // ユーザー名の失敗を示します
}
$dbarray = $stmt->fetch();
/* ユーザー ID が正しいことを検証します */
if ($session_id == $dbarray['session_id']) {
0を返します。 // 成功!ユーザー名とユーザーIDが確認されました
} それ以外 {
2を返します。 // ユーザー ID が無効であることを示します
}
}</pre>
<p>私たちはこの危険な情報を発見しました。
<ブロック引用>
<p>致命的なエラー: PDOException をキャッチできません: SQLSTATE[HY093]: 無効なパラメーター番号: バインドされた変数の数が C:xampphtdocstintoadminincludesSession.php:129 のトークンの数と一致しません スタック トレース: #0 C:xampphtdocstintoadminincludesSession.php(129) : PDOStatement->execute(Array) #1</p>
</blockquote>
<pre class="brush:php;toolbar:false;">functionconfirmUserID($session_id, $userid) {
/* ユーザーがデータベースに存在することを確認します */
$query = "SELECT session_id FROM user_sessions WHERE session_id = '$session_id' AND userid = '$userid'";
$stmt = $this->db->prepare($query);
$stmt = array(':userid' => $userid, ':sessionid' => $session_id); // エラー メッセージは、ここから送信されていることを示します
$stmt->execute();
$count = $stmt->rowCount();
if (!$stmt || $count < 1) {
1 を返します。 // ユーザー名の失敗を示します
}
$dbarray = $stmt->fetch();
/* ユーザー ID が正しいことを検証します */
if ($session_id == $dbarray['session_id']) {
0を返します。 // 成功!ユーザー名とユーザーIDが確認されました
} それ以外 {
2を返します。 // ユーザー ID が無効であることを示します
}
}</pre>
<p>さらに多くの質問があります</p>
プレースホルダーの前にコロン (:) を追加し、$userID 変数と $sessionID 変数をクエリと連結しないようにする必要があります。
リーリー