PHPのmysql_queryの変数について
PHPのmysql_queryの変数について
全くの初心者です。
ログイン情報のチェックに使うクラスを調べているのですが、
mysql_queryの結果が表示されなく、原因が分かりません。
ご存知の方がおられましたら、ご教授頂けませんでしょうか。
よろしくお願い致します。
以下が全体のコードです。(1)(2)の問題があります。
<?php
require_once "BaseDB.class.php";
// ログインをするクラス
class Settings extends BaseDB
{
// ユーザ認証
public function isValidUser( $id, $pass )
{
//var $qstring; // SQL文
//var $qresult; // mysql_query関数の結果
//var $fresult; // mysql_fetch_arrayの結果
$this->errors = 0;
// MySQLにデータがあるか調べる
$qstring = "select passwd from b_settings where username='$id'";
//クエリを実行
echo "setting class:<br>";
echo "qstring:<br>";
echo "$qstring<br />";//select passwd from b_settings where username=unknown
$qresult = mysql_query($qstring);
echo "qresult:<br>";
////// (1)ココが表示されない。
echo "$qresult<br>";
if(!$qresult)
{
echo $qresult;
$this->errorm = "ユーザ名が違います。table Error";////////// (2)このエラーが出てしまいます。
$this->errors++;
return false;
}
if(!$fresult = mysql_fetch_array($qresult))
{
$this->errorm = "ユーザ名が違います。";
$this->errors++;
return false;
}
//echo "$pass /" . $fresult['passwd'] . "<br>";
if( $pass == $fresult['passwd'] )
{
//echo "$pass /" . $fresult['passwd'] . "<br>";
return true;
}
else
{
$this->errorm = "パスワードが違います。";
$this->errors++;
return false;
}
}//関数終了
public function loadSettings( $id='' )
{
$qstring = "select maintitle,subtitle,maxtopics," .
"username,passwd,mailaddr from b_settings where id=1";
//クエリを実行
$qresult = mysql_query($qstring);
if(!$qresult){
$this->errorm = "DB Error:[$qstring]";
$this->errors++;
return false;
}
if(!$fresult = mysql_fetch_array($qresult))
{
$this->errorm = "設定情報がありません。";
$this->errors++;
return false;
}
$this->maintitle = $fresult['maintitle'];
$this->subtitle = $fresult['subtitle'];
$this->maxtopics = $fresult['maxtopics'];
$this->username = $fresult['username'];
$this->passwd = $fresult['passwd'];
$this->mailaddr = $fresult['mailaddr'];
return true;
}
public function saveSettings( $id='' )
{
$qstring = "update b_settings set ".
"maintitle = '$this->maintitle', ".
"subtitle = '$this->subtitle', ".
"maxtopics = '$this->maxtopics', ".
"username = '$this->username', ".
"passwd = '$this->passwd', ".
"mailaddr = '$this->mailaddr' ".
" where id=1";
//クエリを実行
$qresult = mysql_query($qstring);
if(!$qresult){
$this->errorm = "DB Error:[$qstring]";
$this->errors++;
return false;
}
return true;
}
// プロパティ参照
function __get( $property )
{
return $this->$property;
}
// プロパティセット
function __set( $property, $value )
{
$this->$property = $value;
}
} //クラス終了
?>
補足
回答ありがとうございます。 セッションによる受け渡しと、パラメーター渡しでもできるようなので、 パラメーター渡しでやってみました(手軽にできそうだったので)。 $dirname = $_GET["username"]; このユーザー名を使って、最初の一覧表を出すときには うまく出るのですが、storage.phpのメニューで再度一覧表を出そうとすると $dirnameの値が 消えてしまって 表示ができません。 このあたりは セッションによる受け渡しと パラメーターによる受け渡しで 効果の違いがあるのでしょうか? 目的は単に認証を行った ユーザー名を使って 他のモジュール(phpファイル)で ファイルのアップロードダウンロード処理(フォルダー作成含め)を行いたいだけなのですが。。。 もし適当なサンプルプログラムがありましたら ご紹介いただけると 非常に助かります。 よろしくお願いいたします。