• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Basic認証: PHP_AUTH_USERが)

PHPでのBasic認証の不具合について

このQ&Aのポイント
  • PHPのBasic認証において、特定の条件下で値が取得できない不具合が発生しています。
  • 具体的には、$_SERVER['PHP_AUTH_USER']をWHERE句に使用すると値が取得できず、エラーが発生します。
  • この問題の解決方法としては、$_SERVER['PHP_AUTH_USER']を変数に代入し、その変数を使用することで値を取得できるようになります。

質問者が選んだベストアンサー

  • ベストアンサー
  • aa_akiya
  • ベストアンサー率100% (21/21)
回答No.2

var_dump("SELECT COUNT(id) AS rows FROM `account` WHERE name = $_SERVER [ 'PHP_AUTH_USER' ] AND password = 'abc'"); で出力されるSQLを確認すると取得できない原因が判ると思います。 "SELECT COUNT(id) AS rows FROM `account` WHERE name = '" . $_SERVER['PHP_AUTH_USER'] . "' AND password = 'abc'" こちらでいかがでしょうか。

spindle
質問者

お礼

var_dumpで見ると、・・・・WHERE name = Array [ 'PHP_AUTH_USER' ] AND password = 'abc'と出ました。 ご回答の sql文で Resource id #3--line_d と出ました。値が入ったと思います。ありがとうございました。

その他の回答 (1)

  • t_ohta
  • ベストアンサー率38% (5238/13705)
回答No.1

$result = mysql_query( "SELECT COUNT(id) AS rows FROM `account` WHERE name = '" . $_SERVER [ 'PHP_AUTH_USER' ] . "' AND password = '" . $_SERVER ['PHP_AUTH_PW' ] . "'", $conn); ではどうでしょう。

spindle
質問者

お礼

お陰様で、ご回答の sql文で Resource id #3--line_d と出ました。値が入ったと思います。 ありがとうございました。