ホームページ > バックエンド開発 > PHPチュートリアル > php+sql2000の問題、配列+sqlのクエリ条件

php+sql2000の問題、配列+sqlのクエリ条件

WBOY
リリース: 2016-06-23 14:18:23
オリジナル
967 人が閲覧しました

PHP SQL Server

$wd1=$_POST['wd1']; // 以上です
sql="select * from xxx where pr_id like $wd1."%'";
//** * ************************************************* ******
//次に入力する必要があります: 123 Wang
//sql="select * from xxx where pr_id like '%123%' and name like '%王%'
//etc.上記と同様に、ユーザーが入力する条件は次のように複数になる場合があります。 123 Wang Nan または 1 つ
wd1=$_POST['wd1'] //入力データを受け取ります。
$split_dir = split('[ ]; ', $wd1);//配列に変換したいのですが
//それではSQL Server2000の文をどうやって表現すればいいのか分かりません。
sql="?? ? ";

ディスカッション (解決策) に返信します。 。アドバイスを求めてください。 。皆様、よろしくお願いします! !

$where = "1=1";$arr = array('col1','col2','col3');foreach($split_dir AS $key=>$val){	$where .= " AND ".$arr[$key]." LIKE '%".$val."%' ";}
ログイン後にコピー

$arr は、where に表示する必要があるフィールド名です。もちろん、セキュリティの問題は自分で制御できます。


これは単なる一般的なアイデアです。他の人が 123 男性の王を入力したり、入力の間にスペースを追加したりする可能性があるため、これは自分で制御する必要があります

そうですね。 。ありがとう、試してみます

ふふ、それです。 。 。 。 。これが私が書いたものです

$wd1=$_POST['wd1']; out‐‐through outset '名前','カテゴリ','モデル');

$where2= " ";
for($m=0;$m if($m==(count($split_dir)-1) )
{
for($n=0) ;$n
if($n==(count($arr)-1)){
$where2=$where2. $arr[$n]." のように ' %".$split_dir[$m]."%'";
}else{
$where2=$where2.$arr[$n]." like '%".$ split_dir[$m]."%' または";
}

}
$where2=$where2." ";
}else{
for($n=0;$n
if($n== (count($arr)-1)){
$where2=$where2.$arr[$n]." like '%".$split_dir[$m]."% '";
}else{
$where2 =$where2.$arr[$n]." like '%".$split_dir[$m]."%' または ";
}

}
$where2=$ where2." ) および ( ";
}
}

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート