开发者

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_da开发者_如何学编程tabase("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.


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);


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);


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

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜