Ok。私は、mysqlデータベースを検索するためにHTMLフォームでテキストとブールフィールドを使用するはずのこのコードを少し持っています。これは学習プロジェクトであり、急いではありません。mysqlのPHP検索エンジン
考えられるのは、入力と表示のテキストフィールドをチェックして、チェックボックスに何かがあるかどうかを確認することです。チェックボックスは正常に機能しますが、テキストボックスのポストコードのコードを追加すると恐ろしい結果になります。 "function.mysql-real-escape-string":C:\ Program Files \ Apache Software Foundation \のユーザ 'ODBC' @ 'localhost'(パスワードはNOを使用)のアクセスが拒否されました。 Apache2.2 \ htdocs \ criteriasearch.php on line 36 "
私はこれを理解できません。チェックボックスのコードは次のとおりです。これはそれ自身の上でうまく動作します。
if(isset($_POST['search']) && !empty($_POST['search'])){
foreach($_POST['search'] as $key=>$value){
if($value==1) $search[] = "$key";
$searchstring = implode(' AND ', $search);
}
私は次のコードを追加する場合:
$post_map = array(
'postcode'=>'candidate_contact_details.postcode'
);
if(isset($_POST['postcode']) && !empty($_POST['postcode'])) {
foreach ($_POST['postcode'] as $key) {
if (array_key_exists($key, $post_map));
$search[] = $post_map[$key] . '=' . mysql_real_escape_string($value);
}
をそれはちょうど私にアクセスすることができますが、そのセクションに拒否されたが、最初のセクションでは、動作します。私は括弧などで何か間違っているとはかなり確信していますが、私の人生のためにそれを働かせることはできませんし、どんな支援も高く評価されます。アドバンス
私はそこにあるべきではないと推測しています。この行の右か? "if(array_key_exists($ key、$ post_map));" – Bing
ありがとうございます。セミコロンはそれを止めていた。私はそれを今検索する方法を理解する必要があります。チェックボックスのセクションは正常に機能しますが、ポストコードというテキストボックスは表示されません。いくつかのことをチェックしようとしています。 –