On Thu, Feb 26, 2009 at 06:07:02PM -0500, PJ wrote: > Is there a shorter way of determining if a field contains text? > This works but I wonder if I can K.I.S.S. it? I really only need to know > if there is or is not a field containing the text specified. I don't > need to see it. > <?php > > // Request the text > $text = "Joe of Egypt"; > $sql = "SELECT title FROM book WHERE title LIKE '$text'"; > $result = mysql_query($sql); > if (!$result) { > echo("<P>Error performing query: " . > mysql_error() . "</P>"); > exit(); > } > > // Display the text > while ( $row = mysql_fetch_array($result) ) { > echo("<P>" . $row["title"] . "</P>"); > } > if ($row["title"] == "") > echo ("Empty!") > > ?> If you just want to see whether the passed text is in the title field, and not display it, then no, there's no simpler way. However, I would suggest you surround the $text with percent signs (%) to allow mysql to check if this text is embedded within any of the titles. (Er, that's the way you do it in PostgreSQL; I assume MySQL uses the same mechanism.) Also, I don't know that mysql_query() returns *false* on no rows. I generally check that with mysql_num_rows(). Again, I don't know MySQL that well. PostgreSQL only returns *false* if there's a problem with the query. If the query yields nothing, then you have to check with pg_num_rows(). Paul -- Paul M. Foster -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php