Wern Ancheta
Wern Ancheta

Reputation: 23297

More efficient query in mysql

I want to know how do they do a query with only one textbox in the page, but the current text in the text box can be used as a parameter for the query. I'm currently using the query below but I don't think I'm getting the desired results, is there anything wrong with my query?

$result1=query_database("SELECT * FROM prod_table WHERE CATEGORY LIKE '$cuts%' OR PRODUCT LIKE '$cuts%' OR P_DESC LIKE '$cuts%' ", "onstor", $link);

?>


<?php

if(mysql_num_rows($result1)==0){

}else{

How to do this kind of query better.

Upvotes: 0

Views: 172

Answers (3)

mazgalici
mazgalici

Reputation: 606

Add indexes for each of the 3 fields, CATEGORY,PRODUCT,P_DESC and it should run much faster.

Are you sure that LIKE '$cuts%' is correct? I believe that it should be LIKE '%$cuts%'. In the way that you have written it, it will only find the products which start with the value of the $cuts

Upvotes: 0

Pradeep Singh
Pradeep Singh

Reputation: 3634

use % before $cut and escape this query is fine

 $result1=query_database("SELECT * FROM prod_table WHERE CATEGORY LIKE '%$cuts%' OR PRODUCT LIKE '%$cuts%' OR P_DESC LIKE '%$cuts%' ", "onstor", $link);

Upvotes: 0

Shakti Singh
Shakti Singh

Reputation: 86336

if query_database is not defined by you

mysql_query("SELECT * FROM prod_table WHERE CATEGORY LIKE '$cuts%' OR PRODUCT LIKE '$cuts%' OR P_DESC LIKE '$cuts%' ", "onstor", $link);

Upvotes: 1

Related Questions