I have 2 sites. One for production and one for test. The production site is a VPS (may or not mean anything). I have an inclusion, all of a sudden the production site returns an error!
This is the error and the screen from production:
SurveySeq = NY10460%
String2 = SELECT * FROM mapfile WHERE SEQ LIKE 'NY10460%' AND BNMB >= 400 - 10 AND BNMB <= 400 + 10 ORDER BY ABS(400 - BNMB) ASC LIMIT 1
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /home/langsyst/public_html/lansco/BuildingChk.php on line 167 String2 = SELECT * FROM mapfile WHERE SEQ LIKE 'NY10460%' AND BNMB >= 400 - 10 AND BNMB <= 400 + 10 ORDER BY ABS(400 - BNMB) ASC LIMIT 1 Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /home/langsyst/public_html/lansco/BuildingChk.php on line 174 count (194) = count =
menu = 5
This is the code from production:
if ($_SESSION['Menu_No'] == 3)
{
$SqlString2 = "SELECT * FROM survey_data WHERE
SEQ LIKE '$SurveySeq'
AND
ADDRESS like '$SurveyAddress'";
}
else
{
$SqlString2 = "SELECT * FROM mapfile
WHERE
SEQ LIKE '$SurveySeq'
AND
BNMB >= $work - 10
AND
BNMB <= $work + 10
ORDER BY
ABS($work - BNMB)
ASC
LIMIT 1";
echo "SurveySeq = ".$SurveySeq."<br>";
echo "String2 = ".$SqlString2."<br><br><br>";
}
$Survey_File = mysql_query($SqlString2);
$ROW2=mysql_fetch_array($Survey_File, MYSQL_BOTH);
---------------------------------------------------------------------------------------
The test site has the following code:
if ($_SESSION['Menu_No'] == 3)
{
$SqlString2 = "SELECT * FROM survey_data WHERE
SEQ LIKE '$SurveySeq'
AND
ADDRESS like '$SurveyAddress'";
}
else
{
$SqlString2 = "SELECT * FROM mapfile
WHERE
SEQ LIKE '$SurveySeq'
AND
BNMB >= $work - 10
AND
BNMB <= $work + 10
ORDER BY
ABS($work - BNMB)
ASC
LIMIT 1";
}
$Survey_File = mysql_query($SqlString2);
$ROW2=mysql_fetch_array($Survey_File, MYSQL_BOTH);
--------------------------------------------------------------------------------
If you take out the "echo" in the production they are both the same.
WTF!!!
That usually means that the query failed, perhaps because of a syntax error or failure of the server. This article can show you how to test the query results and determine if the query succeeded or failed. If it failed you can use the examples here to print out the error messages.
https://www.experts-exchange.com/Web_Development/Web_Languages-Standards/PHP/PHP_Databases/A_11177-PHP-MySQL-Deprecated-as-of-PHP-5-5-0.html
You might also want to add error_reporting(E_ALL) to the script. PHP may have some things to tell you, but you won't see these things unless you raise the error report yourself.
As you will also see in that article, PHP is doing away with MySQL support, so you will need to move to one of the supported extensions. If you choose object-oriented MySQLi the conversion is fairly easy.