Re: A newbie search site question

From: Date: Fri, 27 Apr 2001 05:28:55 +0000
Subject: Re: A newbie search site question
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-50567@lists.php.net to get a copy of this message
On Fri, 27 Apr 2001 14:27, waro wrote: > Hello, > > I just learn PHP for a month now. It's hard for me > since I have no background in programming (I do HTML > but this is totally different). > Last few days I try to make a simple script so > visitors can search my site. I use a MySQL database > here and there are some tables to handle my other PHP > works. The "search" table contains: words_id, words, > path_id, file_id, and info fields. > > This is my snippet: > <?php//search.php > // Connect to database > include "db.php"; > // Looking for the right word > $query = mysql_query ("SELECT search.words_id, > search.words, search.path_id, search.file_id, > search.info, tips.tips, path.path_id, path.path, > filename.file_id FROM search, tips, path, filename > WHERE words LIKE '%$search%', search.path_id = I think part of your problem may be in the WHERE clause above, where you use a comma instead of (I think) AND > path.path_id AND search.file_id = filename.file_id > ORDER BY words_id"); > if (empty($query)){ > echo "<P>Sorry, no matching ...</P>"; > } > else {// Display search > while ($hasil = mysql_fetch_array($query)){ > echo "<P><A > href=\"$hasil[path]/tip.php?file_id=$hasil[file_id]&tips=$hasil[tips]\" >>$hasil[tips]</A>"; echo "$hasil[info]</P>\n"; and then this may cause a problem: you should enclose the array indices in " thus - $hasil["path]" so PHP doesn't get confused whether they are constants or not. > } > } > ?> > > And here's my search form: > <FORM method="GET" action="search.php"> > <INPUT type="text" name="search" size="15"> > <INPUT type="submit"> > </FORM> > > But I always get the "Sorry, no matching ..." output > even though my SQL table has the word in its field. > Would someone help me with this. Any suggestion, hints > or tips will help me so much. > > Thank you in advance, A general tip - whenever you are having trouble with a SQL you can echo the actual query and (if you can) feed it directly to the database engine or (for MySQL) use mysql_error() after any calls to the database functions to return an error string. -- David Robley Techno-JoaT, Web Maintainer, Mail List Admin, etc CENTRE FOR INJURY STUDIES Flinders University, SOUTH AUSTRALIA Bad breath is better than no breath.

« previous php.general (#50567) next »