Page 1 of 1

I Had This Working and Made a Change and Broke It...

Posted: Mon Sep 15, 2008 10:19 pm
by zunebuggy
I am a PHP newbie. I had this search.php script working, but now it is broke. I was adding a couple of lines and now it wont return anything but I'm not getting an error. I did not change the database at all. I'm sorry, I don't remember what I changed to break it. Can anyone see any obvious errors? Thank you.

Code: Select all

 
<?
/* connection information */ 
$hostname =  "mysql.mydomain.com";
$username =  "myusername";
$password =  "mypassword";
$dbName =  "mydbname";
$table = "mymaintable";
/* make connection to database */ 
MYSQL_CONNECT($hostname, $username, $password) OR DIE( "Unable to connect
to database");
 
@mysql_select_db("$dbName") or die(  "Unable to select database"); 
 
                   
                   if ($lastname == "")
                      {$lastname = '%';}
 
                      if ($firstname == "")
                      {$firstname = '%';}
 
                      if ($bmonth == "")
                      {$bmonth = '%';}
 
                      if ($byear == "")
                      {$byear = '%';}
 
                      if ($sex == "")
                      {$sex = '%';}
                   
                      if ($city == "")
                       {$city == '%';}
                      
                      if ($state == "")
                       {$state == '%';}
 
                      if ($country == "")
                        {$country == '%';}
 
 
$query =  ("SELECT * FROM $table WHERE last_name LIKE '$lastname%' AND
first_name LIKE '$firstname%' AND b_month LIKE '$bmonth%' AND b_year LIKE '$byear%' AND sex LIKE '$sex%' AND city LIKE
'$city%' AND state LIKE '$state%' AND country LIKE '$country%'");
 
$result = MYSQL_QUERY($query);
 
if (!$result) print ("failed\n");
  /* Determine the number of records returned */ 
 
WHILE ($row=MYSQL_FETCH_ROW($result))
$number = mysql_numrows($result);
if (!$number) print("failed 2 \n");
  /* Print the relevant information */ 
$i = 0;
         PRINT  "<font face=\"Verdana, Arial, Helvetica, sans-serif\">
         <b>There are $number records in the inventory:</b></font><p>";
         PRINT  "<table cellpadding=5>";
         PRINT  "    <TR bgcolor=black> <td><font face=\"Verdana, 
Arial,Helvetica, sans-serif\" size=\"-1\" color=white><b>Account
         Number</b></font></td> <td><font face=\"Verdana, Arial, Helvetica,
          sans-serif\" size=\"-1\" color=white><b>Last
         Name</b></font></td> <td><font face=\"Verdana, Arial, Helvetica, 
          sans-serif\" size=\"-1\" color=white><b>First Name</b></font></td>
          <td><font face=\"Verdana, Arial, Helvetica,
         sans-serif\" size=\"-1\" color=white><b>Month</b></font></td>
          <td><font face=\"Verdana, Arial, Helvetica,
         sans-serif\" size=\"-1\" color=white><b>Year</b></font></td>
         <td><font face=\"Verdana, Arial, Helvetica,
         sans-serif\" size=\"-1\" color=white><b>Sex</b></font></td>
         <td><font face=\"Verdana, Arial, Helvetica,
         sans-serif\" size=\"-1\" color=white><b>City</b></font></td>
         <td><font face=\"Verdana, Arial, Helvetica,
         sans-serif\" size=\"-1\" color=white><b>State</b></font></td><td><font face=\"Verdana, Arial, Helvetica,
         sans-serif\" size=\"-1\" color=white><b>Country</b></font></td></tr>";
 
WHILE ($i < $number):
    $AccountNum = mysql_result($result, $i, "account_num");
    $LastName = mysql_result($result, $i,"last_name");
    $FirstName = mysql_result($result, $i,"first_name");
    $BMonth = mysql_result($result,$i,"b_month");
    $BYear = mysql_result($result,$i,"b_year");
    $Sex = mysql_result($result,$i,"sex");
    $City = mysql_result($result,$i,"city");
    $State = mysql_result($result,$i,"state");
    $Country = mysql_result($result,$i,".country");
        if ($i%2 == 0) {
        PRINT  "<tr bgcolor=lightgrey>
 <td><font face=\"Verdana, Arial, Helvetica,
sans-serif\" size=\"-1\">$AccountNum</font></td>
 <td><font face=\"Verdana, Arial, Helvetica,
sans-serif\" size=\"-1\">$LastName</font></td>
 <td><font face=\"Verdana, Arial, Helvetica,
sans-serif\" size=\"-1\"> $FirstName</font></td>
 <td><font face=\"Verdana, Arial, Helvetica,
sans-serif\" size=\"-1\"> $BMonth</font></td>
 <td><font face=\"Verdana, Arial, Helvetica,
sans-serif\" size=\"-1\"> $BYear</font></td>
<td><font face=\"Verdana, Arial, Helvetica,
sans-serif\" size=\"-1\"> $Sex</font></td>
 <td><font face=\"Verdana, Arial, Helvetica,
sans-serif\" size=\"-1\"> $City</font></td>
 <td><font face=\"Verdana, Arial, Helvetica,
sans-serif\" size=\"-1\"> $State</font></td>
 <td><font face=\"Verdana, Arial, Helvetica,
sans-serif\" size=\"-1\"> $Country</font></td></tr>";
        } else {
        PRINT  "<tr bgcolor=lightgreen>
 <td><font face=\"Verdana, Arial, Helvetica,
sans-serif\" size=\"-1\">$AccountNum</font></td>
 <td><font face=\"Verdana, Arial, Helvetica,
sans-serif\" size=\"-1\">$LastName</font></td>
 <td><font face=\"Verdana, Arial, Helvetica,
sans-serif\" size=\"-1\"> $FirstName</font></td>
 <td><font face=\"Verdana, Arial, Helvetica,
sans-serif\" size=\"-1\"> $BMonth</font></td>
 <td><font face=\"Verdana, Arial, Helvetica,
sans-serif\" size=\"-1\"> $BYear</font></td>
<td><font face=\"Verdana, Arial, Helvetica,
sans-serif\" size=\"-1\"> $Sex</font></td>
 <td><font face=\"Verdana, Arial, Helvetica,
sans-serif\" size=\"-1\"> $City</font></td>
 <td><font face=\"Verdana, Arial, Helvetica,
sans-serif\" size=\"-1\"> $State</font></td>
 <td><font face=\"Verdana, Arial, Helvetica,
sans-serif\" size=\"-1\"> $Country</font></td></tr>";
    }
$i++;
ENDWHILE;
PRINT  "</table>";
 
/* Close the database connection */ 
MYSQL_CLOSE();
?>
 
 

Re: I Had This Working and Made a Change and Broke It...

Posted: Tue Sep 16, 2008 1:40 pm
by vetrivel
hey..
At first line
remove "<?" and add this"<?php". this will do a lot depends on your version(what php version you are using?).
and avoid using print and try to use echo (both are almost same but speed matters.)