ホームページ  >  記事  >  バックエンド開発  >  thinkphpで実行されたステートメントを表示する方法

thinkphpで実行されたステートメントを表示する方法

WBOY
WBOYオリジナル
2016-06-23 13:58:131051ブラウズ

コントロールエリアのコントローラーは次のように書かれています

	function checkLogin(){		$condition['employeeno'] = $_REQUEST['employeeno'];		$condition['password'] = $_REQUEST['password'];		$model = M("Employeeinfo");		$results = $model->where($condition)->select(); 		sql($model);			if($results){			if(trim($results[0]['Password'])==$condition['password']){				echo "{success:true,msg:'OK'}";				Session::set('employeeno','employeeno');				Session::set('userinfo',$results[0]);				return;			}		}		echo "{success:true,msg:'登录帐号不存在互或密码错误!'}";	}


38 回ログインしましたが成功しませんでした (ログインアカウントが存在しないか、パスワードが間違っているというメッセージが表示されます)。ログにはエラーはありません。
データをチェックしやすくするために、次のような SQL ステートメントを出力する必要があります: selectemployee,password from
vamp($model) を使用しています
が表示できません。


ディスカッションに返信 (解決策)

デバッグをオンにし、SQL ステートメントを確認し、SQL ステートメントをコピーしてデータベースで実行し、結果があるかどうかを確認します

$model = M("Employeeinfo" );
$results = $model->where($condition)->select();
echo $results->getlastSql();

プラス

$condition['_logic'] = 'AND' ;
$model = M ("従業員情報");
$results = $model->where($condition)->select();

見てみましょう

プラス

$condition['_logic'] = 'AND';
$model = M("Employeeinfo")
$results = $model->where($condition)->select(); ->getlastSql ();

見てください


この兄弟は正しいです!


select メソッドに false を追加するだけです。彼は SQL ステートメントを実行しません。代わりに、SQL ステートメントを出力します。
$model = M("従業員情報")->select( false);
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。