PHP エラー メッセージを解決するにはどうすればよいですか?試してみましたが、まだ成功しません。
P粉773659687
P粉773659687 2023-08-08 12:34:18
0
1
394
<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>
P粉773659687
P粉773659687

全員に返信(1)
P粉794851975

プレースホルダーの前にコロン (:) を追加し、$userID 変数と $sessionID 変数をクエリと連結しないようにする必要があります。

リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート