aec Posted August 20, 2009 Share Posted August 20, 2009 I've been lurking here for some time, but this is a really specific problem that I can't find a solution to. I'm developing a site for a local business, and one of the features of the site is integration of the company's inventory--so customers can search and find products to hopefully buy them. I've developed the following script, and it runs fine on my local computer's webserver (Apache on Leopard)--but when placed into the WordPress page, it won't run. I've already installed the appropriate WordPress plugins to allow PHP to be executed within a page--and all other pages work properly, including those with other scripts. Apparently something is being lost in translation between my local server and our hosting company--which is strange since I'm copying and pasting the script exactly (except for replacing the "<?php" with "[exec]" and "?>" with "[/exec]" per the plugin's requirements). Any ideas at all? <?php //connect to mysql database //host: $host = 'XXXXXXXXXXXXX'; //user: $user = 'XXXXXXXXXXXXXX'; //password: $password = 'XXXXXXXXXXXXXXXXX'; $con = mysql_connect($host,$user,$password); if (!$con) { die('Could not connect: ' . mysql_error()); } //end connect to mysql database mysql_select_db("XXXXXXXXXXXXXXXX", $con); //define script variables $sortby=$_POST['sortby'] ; $manufacturer=$_POST['manufacturer'] ; $standard_keyword="%" . $_POST[keyword] . "%"; $string=$_POST[keyword]; //end define script variables //count search keywords and break search query into multiple keyword variables $token = strtok($string, " "); $n=0; while ($token != false) { $n++; $keyword{$n}=$token; $token=strtok(" "); } $total_n=$n; $n=0; //end count search keywords and break search query into multiple keyword variables //construct ProductNameSRCH query switch ($total_n) { case 0: $optimized_query_for_ProductNameSRCH = "'%'"; break; case 1: $optimized_query_for_ProductNameSRCH = "'%" . $keyword{1} . "%'"; break; case 2; $optimized_query_for_ProductNameSRCH = "'%" . $keyword{1} . "%' OR ProductName LIKE '%" . $keyword{2} . "%'"; break; case 3; $optimized_query_for_ProductNameSRCH = "'%" . $keyword{1} . "%' OR ProductName LIKE '%" . $keyword{2} . "%' OR ProductName LIKE '%" . $keyword{3} . "%'"; break; case 4; $optimized_query_for_ProductNameSRCH = "'%" . $keyword{1} . "%' OR ProductName LIKE '%" . $keyword{2} . "%' OR ProductName LIKE '%" . $keyword{3} . "%' OR ProductName LIKE '%" . $keyword{4} . "%'"; break; case 5; $optimized_query_for_ProductNameSRCH = "'%" . $keyword{1} . "%' OR ProductName LIKE '%" . $keyword{2} . "%' OR ProductName LIKE '%" . $keyword{3} . "%' OR ProductName LIKE '%" . $keyword{4} . "%' OR ProductName LIKE '%" . $keyword{5} . "%'"; break; case 6; $optimized_query_for_ProductNameSRCH = "'%" . $keyword{1} . "%' OR ProductName LIKE '%" . $keyword{2} . "%' OR ProductName LIKE '%" . $keyword{3} . "%' OR ProductName LIKE '%" . $keyword{4} . "%' OR ProductName LIKE '%" . $keyword{5} . "%' OR ProductName LIKE '%" . $keyword{6} . "%'"; break; case 7; $optimized_query_for_ProductNameSRCH = "'%" . $keyword{1} . "%' OR ProductName LIKE '%" . $keyword{2} . "%' OR ProductName LIKE '%" . $keyword{3} . "%' OR ProductName LIKE '%" . $keyword{4} . "%' OR ProductName LIKE '%" . $keyword{5} . "%' OR ProductName LIKE '%" . $keyword{6} . "%' OR ProductName LIKE '%" . $keyword{7} . "%'"; break; case 8; $optimized_query_for_ProductNameSRCH = "'%" . $keyword{1} . "%' OR ProductName LIKE '%" . $keyword{2} . "%' OR ProductName LIKE '%" . $keyword{3} . "%' OR ProductName LIKE '%" . $keyword{4} . "%' OR ProductName LIKE '%" . $keyword{5} . "%' OR ProductName LIKE '%" . $keyword{6} . "%' OR ProductName LIKE '%" . $keyword{7} . "%' OR ProductName LIKE '%" . $keyword{8} . "%'"; break; case 9; $optimized_query_for_ProductNameSRCH = "'%" . $keyword{1} . "%' OR ProductName LIKE '%" . $keyword{2} . "%' OR ProductName LIKE '%" . $keyword{3} . "%' OR ProductName LIKE '%" . $keyword{4} . "%' OR ProductName LIKE '%" . $keyword{5} . "%' OR ProductName LIKE '%" . $keyword{6} . "%' OR ProductName LIKE '%" . $keyword{7} . "%' OR ProductName LIKE '%" . $keyword{8} . "%' OR ProductName LIKE '%" . $keyword{9} . "%"; break; case 10; $optimized_query_for_ProductNameSRCH = "'%" . $keyword{1} . "%' OR ProductName LIKE '%" . $keyword{2} . "%' OR ProductName LIKE '%" . $keyword{3} . "%' OR ProductName LIKE '%" . $keyword{4} . "%' OR ProductName LIKE '%" . $keyword{5} . "%' OR ProductName LIKE '%" . $keyword{6} . "%' OR ProductName LIKE '%" . $keyword{7} . "%' OR ProductName LIKE '%" . $keyword{8} . "%' OR ProductName LIKE '%" . $keyword{9} . "%' OR ProductName LIKE '%" . $keyword{10} . "%'"; break; } //end construct ProductNameSRCH query //construct ManufacturerSRCH query switch ($total_n) { case 0: $optimized_query_for_ManufacturerSRCH = "'%'"; break; case 1: $optimized_query_for_ManufacturerSRCH = "'%" . $keyword{1} . "%'"; break; case 2; $optimized_query_for_ManufacturerSRCH = "'%" . $keyword{1} . "%' OR Manufacturer LIKE '%" . $keyword{2} . "%'"; break; case 3; $optimized_query_for_ManufacturerSRCH = "'%" . $keyword{1} . "%' OR Manufacturer LIKE '%" . $keyword{2} . "%' OR Manufacturer LIKE '%" . $keyword{3} . "%'"; break; case 4; $optimized_query_for_ManufacturerSRCH = "'%" . $keyword{1} . "%' OR Manufacturer LIKE '%" . $keyword{2} . "%' OR Manufacturer LIKE '%" . $keyword{3} . "%' OR Manufacturer LIKE '%" . $keyword{4} . "%'"; break; case 5; $optimized_query_for_ManufacturerSRCH = "'%" . $keyword{1} . "%' OR Manufacturer LIKE '%" . $keyword{2} . "%' OR Manufacturer LIKE '%" . $keyword{3} . "%' OR Manufacturer LIKE '%" . $keyword{4} . "%' OR Manufacturer LIKE '%" . $keyword{5} . "%'"; break; case 6; $optimized_query_for_ManufacturerSRCH = "'%" . $keyword{1} . "%' OR Manufacturer LIKE '%" . $keyword{2} . "%' OR Manufacturer LIKE '%" . $keyword{3} . "%' OR Manufacturer LIKE '%" . $keyword{4} . "%' OR Manufacturer LIKE '%" . $keyword{5} . "%' OR Manufacturer LIKE '%" . $keyword{6} . "%'"; break; case 7; $optimized_query_for_ManufacturerSRCH = "'%" . $keyword{1} . "%' OR Manufacturer LIKE '%" . $keyword{2} . "%' OR Manufacturer LIKE '%" . $keyword{3} . "%' OR Manufacturer LIKE '%" . $keyword{4} . "%' OR Manufacturer LIKE '%" . $keyword{5} . "%' OR Manufacturer LIKE '%" . $keyword{6} . "%' OR Manufacturer LIKE '%" . $keyword{7} . "%'"; break; case 8; $optimized_query_for_ManufacturerSRCH = "'%" . $keyword{1} . "%' OR Manufacturer LIKE '%" . $keyword{2} . "%' OR Manufacturer LIKE '%" . $keyword{3} . "%' OR Manufacturer LIKE '%" . $keyword{4} . "%' OR Manufacturer LIKE '%" . $keyword{5} . "%' OR Manufacturer LIKE '%" . $keyword{6} . "%' OR Manufacturer LIKE '%" . $keyword{7} . "%' OR Manufacturer LIKE '%" . $keyword{8} . "%'"; break; case 9; $optimized_query_for_ManufacturerSRCH = "'%" . $keyword{1} . "%' OR Manufacturer LIKE '%" . $keyword{2} . "%' OR Manufacturer LIKE '%" . $keyword{3} . "%' OR Manufacturer LIKE '%" . $keyword{4} . "%' OR Manufacturer LIKE '%" . $keyword{5} . "%' OR Manufacturer LIKE '%" . $keyword{6} . "%' OR Manufacturer LIKE '%" . $keyword{7} . "%' OR Manufacturer LIKE '%" . $keyword{8} . "%' OR Manufacturer LIKE '%" . $keyword{9} . "%"; break; case 10; $optimized_query_for_ManufacturerSRCH = "'%" . $keyword{1} . "%' OR Manufacturer LIKE '%" . $keyword{2} . "%' OR Manufacturer LIKE '%" . $keyword{3} . "%' OR Manufacturer LIKE '%" . $keyword{4} . "%' OR Manufacturer LIKE '%" . $keyword{5} . "%' OR Manufacturer LIKE '%" . $keyword{6} . "%' OR Manufacturer LIKE '%" . $keyword{7} . "%' OR Manufacturer LIKE '%" . $keyword{8} . "%' OR Manufacturer LIKE '%" . $keyword{9} . "%' OR Manufacturer LIKE '%" . $keyword{10} . "%'"; break; } //end construct ManufacturerSRCH query //optimized search functions $optimized_match_query="SELECT * FROM (SELECT * FROM (SELECT * FROM Inventory WHERE ProductName LIKE $optimized_query_for_ProductNameSRCH) AS ProductNameSRCH WHERE Manufacturer LIKE $optimized_query_for_ManufacturerSRCH) AS ManufacturerSRCH WHERE IntPrice<>'NULL'"; $optimized_match=mysql_query($optimized_match_query); //end optimized search functions //standard search functions if ($manufacturer=='all_manufacturers') { $query="SELECT * FROM Inventory WHERE IntPrice<>'NULL' AND (keywords LIKE '$standard_keyword' OR ProductName LIKE '$standard_keyword' OR Manufacturer LIKE '$standard_keyword' OR ProductDescription LIKE '$standard_keyword' OR ProductColor LIKE '$standard_keyword' OR pid LIKE '$standard_keyword') ORDER BY $sortby"; $match = mysql_query($query); } if ($manufacturer<>'all_manufacturers') { $query="SELECT * FROM Inventory WHERE IntPrice<>'NULL' AND (keywords LIKE '$standard_keyword' OR ProductName LIKE '$standard_keyword' OR ProductDescription LIKE '$standard_keyword' OR ProductColor LIKE '$standard_keyword' OR pid LIKE '$standard_keyword') AND (Manufacturer LIKE '$manufacturer') ORDER BY $sortby "; $match = mysql_query($query); } //end standard seach functions //display search term echo "<b>Search term:</b><br /><br />"; echo "<i>$_POST[keyword]</i>"; echo "<br />"; echo "<br />"; //display optimized search results echo "<b>Optimized search results:</b><br /><br />"; while($row = mysql_fetch_array($optimized_match)) { $pidlink = $row['pid']; $url="http://costumecurio.com/sales/product-info/?&pid=" . $row['pid']; echo "<a href='$url'>$row[ProductName]</a>" . " - " ; if ($row['ProductColor']!=NULL) echo $row['ProductColor'] . " - " ; echo "by " ; echo $row['Manufacturer'] . " - " ; echo "Price: $" . $row['ProductPrice'] ; echo "<br />"; } echo "<br />"; //display standard search results echo "<b>Standard search results:</b><br /><br />"; while($row = mysql_fetch_array($match)) { $pidlink = $row['pid']; $url="http://costumecurio.com/sales/product-info/?&pid=" . $row['pid']; echo "<a href='$url'>$row[ProductName]</a>" . " - " ; if ($row['ProductColor']!=NULL) echo $row['ProductColor'] . " - " ; echo "by " ; echo $row['Manufacturer'] . " - " ; echo "Price: $" . $row['ProductPrice'] ; echo "<br />"; } ?> Link to comment https://forums.phpfreaks.com/topic/171193-problem-executing-php-script-within-wordpress/ Share on other sites More sharing options...
markwillis82 Posted August 20, 2009 Share Posted August 20, 2009 Do you get any error messages in your log files? also - you should look into "Match Against" - FULLTEXT searching, instead of many "LIKES" as it may be quicker. Link to comment https://forums.phpfreaks.com/topic/171193-problem-executing-php-script-within-wordpress/#findComment-902771 Share on other sites More sharing options...
aec Posted August 20, 2009 Author Share Posted August 20, 2009 Thanks for the tip on "Match Against"--I'll definitely be looking into that soon. I just checked php_errors.log on the server and found nothing relating to this query--I then changed the page back to the problematic code and tried again--still no errors in the log. I'm not sure what's causing it...any other places I could look or check? Thank you so much for the quick response. -Kyle Link to comment https://forums.phpfreaks.com/topic/171193-problem-executing-php-script-within-wordpress/#findComment-902788 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.