ホームページ >バックエンド開発 >PHPチュートリアル >初心者が検索について質問です。
私は PHP を独学で勉強していますが、検索ボックスを作成しているときに問題が発生しました。検索文字列を入力すると、スペースで始まりその後に何かが続く限り、テーブル内のすべてのデータが表示されます。それが何なのか理解できずに長い間過ごしました。問題は次のようなものです
if(isset($_GET['sousuok'])){
if(ctype_space($_GET[' sousuok'])){
echo "不正なデータです!"
}else{
require_once '../connvar.php'; =mysqli_connect(DB_HOST,DB_USER,DB_PASSWORD,DB_NAME);
mysql_query("SET NAMES 'UTF8'")
$exec="select * from cangku where name like '%$s[0]%' または '%$s [1]%';";
$result=mysqli_query ($dbc,$exec);
if(mysqli_num_rows($result)>0){
while($rs=mysqli_fetch_object($result)){
$name =$rs->name;
$tu=$ rs->biaoqiantu;
echo "
".$name.""."
"; $_GET['sousuok'] がスペースで終わる場合、$s[0] は空の文字列になります
したがって、$exec="select * from cangku where name like '%$ s[0]%' または '%$s[1]%';";
は $exec="select * from cangku where name like '%%' or '%query word%';";
name like ' になります%%' は常に確立され、当然それがコンテンツ全体となります