私はMySQLとPHPを行うことを自分で学んでいます。それは私にとって新しい世界です、私は数冊の本を持っています、そして私はここに尋ねる前にグーグルでたくさんの研究をします。だから私は次の問題で立ち往生していて、答えを見つけることができません、私はMySQLデータベースを持っています、データベースにはURLと呼ばれる特定のフィールドがあります。
URLフィールドの一部は次のようになります。
&path=products&user=Mark24&id=2616
現在、人々がデータベース内のアイテムを検索できるように設定していますが、これはうまく機能します。検索機能に追加したいのは、ユーザーによる検索です。ご覧のとおり、ユーザーはURL全体の真ん中にいるので、次のようになります。
$query = "select Productid, Productname, url, from Products where Productid like '%$keyword%' or Productname like '%$keyword%' or url like '%$keyword%' ";
$result = mysqli_query($dbc,$query);
今、本当の問題が来ます、^^これは不思議に働きます、人々は実際にユーザー名を検索することができ、それは私が望むものを正確に表示します。ただし、URLに含まれている「products」または「path」という単語を検索すると、データベース内のすべてのURLにproductsとpathという単語が含まれているため、2000件を超える一致が得られます。なぜ私はそれを避けたいのですか?顧客がデータベース全体を検索することを望まない。また、クエリごとに顧客が製品の画像、製品名、および製品へのリンクを取得するため、サーバーの過負荷も恐れています。2000を超える画像を読み込もうとすると、ブラウザの速度が低下したりクラッシュしたりするため、これを何らかの方法で修正する必要がありますが、どのように対処すればよいかわかりません。
では、URLフィールドにuser = "blah"と書かれている部分だけを一致させる方法はありますか?私はこれをPHPで行いますか、preg-matchおそらく???
提供された情報は大歓迎です!ありがとう。