ホームページ >バックエンド開発 >PHPチュートリアル >Thinkphp の where 条件では配列を使用できません。理由を分析してください。
このように書くと、データをクエリできます: $admin_data=$admin->where('username="'.$username.'"')->find();
このように書くと、 Web ページは直接「この Web ページを表示できません」: $admin_data=$admin->where(array('username'=>$username))->find();
理由を分析してください。
1. thinkphp のバージョンは 3.13 です。
2. 他のコードからの干渉とは関係なく、これは単なるテストコードです。
PHP バージョン: 5.2
IIS はマシンにインストールされていましたが、数日前にアンインストールしました。
$arr['username']=>$username;
$admin_data=$admin->where($arr)->find();
試してみましょう
$admin_data=$admin->where($arr)->find();
試してみる
$ar="username='yourname'"; $ar);
最初に渡されるのは配列ではなく文字列です
$arr['username'] = $username
$admin_data=$admin->where($arr)->; find();試してみてください
まだ動作しません。
たぶん私が明確に表現しなかったのは、where では文字列形式でクエリを実行するのは通常ですが、配列形式ではということです。 、「この Web ページは表示できません」
thinkPHP の実行記録をチェックして何が問題だったかを確認するか、新しい PHP ファイルを作成して手動で再度入力してください。いくつかのエラーは非常に厄介です。
$admin_data=$admin->query("select * from hao_admin")
$admin_data=$admin->where(array('username'=>$username)) - >find();
通常、最初のクエリにはデータが含まれます。
2 番目のクエリは直接「このページを表示できません」です。
Apache エラー ログの表示:
PHP 警告: ディレクティブ 'register_globals' は、PHP 6 以降では、Unknown on line 0 でサポートされなくなりました
PHP 警告: ディレクティブ 'register_long_arrays' は、PHP 6 以降では、Unknown on line でサポートされなくなりました0
PHP 警告: ディレクティブ 'magic_quotes_gpc' は、PHP 6 以降では、行 0 の不明でサポートされなくなりました
以前にログを読んだことがありますが、これらのエラーにはあまり注意を払いませんでした。
phpinfo() により、PHP のバージョンが PHP6.0.0 であることがわかります。 PHP5.2.6を再インストールしたら問題なくなりました。
そんな事あるの?