Hi All.
I am having problems with a SQL statement. What I want to do is produce a statement that can retrieve records that meets a search criteria. I have a search page that contains a form with a text field where the user inserts a number or a text string.
I am using the following SELECT statement.
$currentPage = $_SERVER["PHP_SELF"];
$colname_search = "-1";
if (isset($_POST['search'])) {
$colname_search = (get_magic_quotes_gpc()) ? $_POST['search'] : addslashes($_POST['search']);
}
$colname1_search = "-1";
if (isset($_POST['search'])) {
$colname1_search = (get_magic_quotes_gpc()) ? $_POST['search'] : addslashes($_POST['search']);
}
$colname2_search = "-1";
if (isset($_POST['search'])) {
$colname2_search = (get_magic_quotes_gpc()) ? $_POST['search'] : addslashes($_POST['search']);
}
$colname3_search = "-1";
if (isset($_POST['search'])) {
$colname3_search = (get_magic_quotes_gpc()) ? $_POST['search'] : addslashes($_POST['search']);
}
$colname4_search = "-1";
if (isset($_POST['search'])) {
$colname4_search = (get_magic_quotes_gpc()) ? $_POST['search'] : addslashes($_POST['search']);
}
mysql_select_db($database_Chandos, $Chandos);
$query_search = sprintf("SELECT * FROM chandos_books WHERE author_name LIKE %s OR isbn_paperback = %s OR isbn_hardback = %s OR isbn_paperback_13 = %s OR isbn_hardback_13 = %s", GetSQLValueString($colname_search, "text"),GetSQLValueString($colname1_search, "int"),GetSQLValueString($colname2_search, "int"),GetSQLValueString($colname3_search, "int"),GetSQLValueString($colname4_search, "int"));
$search = mysql_query($query_search, $Chandos) or die(mysql_error());
$row_search = mysql_fetch_assoc($search);
$totalRows_search = mysql_num_rows($search);
The area I am having problems with is the SELECT statement.
"SELECT * FROM chandos_books WHERE author_name LIKE %s OR isbn_paperback = %s OR isbn_hardback = %s OR isbn_paperback_13 = %s OR isbn_hardback_13 = %s",
Am I using the LIKE statement correctly.