help with php

Posted on 16th Feb 2014 by admin

It's not displaying or pulling anything out of the database.


Code: <html>
<head>
<title>Hale's Music World: Inventory Search Results</title>
</head>
<body>
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" width="56%" id="table1" height="129">
<tr>
<td bgcolor="#008000" colspan"3"> </td>
</tr>
<tr>
<td colspan="3">
<p align="center"><font size="5" color="#0000FF"><b>Inventory Search Results</font></td></tr>
<tr>
<td bgcolor="#008000" colspan="3"> </td>
</tr>
<tr>
<td width="33" align="center">
<font size="4" color="#008000">
<u>Artist</u></font></td>
<td width="33%" align="center">
<font size="4" color="#008000">
<u>Title</u></font></td>
<td width="33%" align="center">
<font size="4" color="#008000">
<u>Genre</u></font></td>
</tr>

<?php

$link = mysql_connect('localhost','halesuser','hales123db');
mysql_select_db("halesmusicworld", $link);

if ( isset( $_POST['Artist_Search'] ) AND $_POST['Artist_Search'] == 1 ) {
echo '1';
$artist_search = mysql_real_escape_string( $_POST["Artist_Search"] ) . '1' ;
$query = "select * from inventory where artist like '%" . $artist_search . "%'";
$result = mysql_query( "SELECT * FROM inventory", $link );
$num_rows = mysql_num_rows( $result );
echo 'Number of matching records=' . $num_rows . '<hr>';
}

if ( isset( $_POST['Title_Search'] ) AND $_POST['Title_Search'] == 2 ) {
echo '2';
$title_search = mysql_real_espace_string( $_POST["Title_Search"] ) . '2' ;
$query = "select * from inventory where title like '%" . $title_search . "%'";
$result = mysql_query( "SELECT * FROM inventory", $link );
$num_rows = mysql_num_rows( $result );
echo 'Number of matching records='. $num_rows . '<hr>';
}

if ( isset( $_POST['Genre_Search'] ) AND $_POST['Genre_Search'] == 3 ) {
echo '3';
$genre_search=$_POST ['Genre'] ;
$query= "select * from inventory where genre like '%".$genre_search."%'";
$query_results=mysql_query($query);
$match_results=mysql_num_rows($query_results);
echo 'Number of matching records='.$match_results. '<hr>';
}
echo '</tr>';

for ($i=0; $i < $match_results; $i++)
{
echo '<tr>';
$row=mysql_fetch_array($query_results);

echo '<td align="center">', ($row ['artist'] ), '</td>';

echo '<td align="center">', ($row ['title'] ), '</td>';
echo '<td align="center">', ($row ['genre'] ), '</td> </tr>';
}

?>
<tr>
<td bgcolor="#008000" colspan="3"> </td>
</tr>
</table>
<p align="center"><i>
<a href="HalesMusicWorld_Home.html">
<font face="Arial" size="5">
Return to </font></a><font face="Arial" size="5"> <a href="HalesMusicWorld_Home.html">HalesMusicWorld Home</font></i></p>

</body>
</html>
It gives me the following error message:

[/size][/font]Notice: Undefined variable: match_results in C:wampwwwinventory_search.php on line 61

I believe it has something to do with this line of code :

for ($i=0; $i < $match_results; $i++)

Other forums