You are here:  » Problem with search.php errors

Support Forum



Problem with search.php errors

Submitted by Capricorn on Tue, 2012-08-07 02:42 in

Hi Dave,

I'm using 12/10B (Heavily Modified) and so far so good, but I have found a problem with search.php

Before doing the code replacement found on these posts:

http://www.pricetapestry.com/node/4603
http://www.pricetapestry.com/node/4586

and with $config_databaseDebugMode = FALSE;

I was getting those same Warning errors:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/*******/public_html/includes/database.php on line 27

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/*******/public_html/includes/database.php on line 32

After the code replacement, now I am getting this:

Parse error: syntax error, unexpected T_CASE in /home/*******/public_html/search.php on line 134

Also, I just noticed that if someone add search.php like: http://www.example.com/search.php

It will also show:

Parse error: syntax error, unexpected T_CASE in /home/*******/public_html/search.php on line 134

Submitted by support on Tue, 2012-08-07 08:38

Hi Capricorn,

Thanks for the that - the warning being displayed would depend on the PHP servers's display_errors() configuration setting; but against the latest version it's probably best to insert a catch-all to null out the query if additional parts for the search operators are not present.

If you roll back the change made re: /node/4586 and instead, look for the following code at line 49:

  if ($q)

...and REPLACE with:

  $operators = array("merchant","category","brand","voucher");
  $parts = explode(":",$q);
  if (in_array($parts[0],$operators))
  {
    if (!isset($parts[1]) || ($parts[1]=="")) $q = "";
  }
  if ($q)

Cheers,
David.
--
PriceTapestry.com