Avatar of breeze351
breeze351
 asked on

Problem with code between 2 diffrent sites with mysql fetch

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!!!
PHP

Avatar of undefined
Last Comment
Ray Paseur

8/22/2022 - Mon
Ray Paseur

Let's start with this: Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given

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.
Ray Paseur

For a quick-and-dirty check on the MySQL failure, put these two instructions after the call to MySQL_Query() and show us the output, please.

var_dump($Survey_File);
var_dump( mysql_error() );
ASKER CERTIFIED SOLUTION
Dave Baldwin

THIS SOLUTION ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
GET A PERSONALIZED SOLUTION
Ask your own question & get feedback from real experts
Find out why thousands trust the EE community with their toughest problems.
breeze351

ASKER
Ok, the query failed.  Why does the code work on one site but not the other?  Also if you read the original post, the only difference is that the site with the error is running VPS.  And I said before,  I haven't touched this code since 04/17/2015.
All of life is about relationships, and EE has made a viirtual community a real community. It lifts everyone's boat
William Peck
breeze351

ASKER
I got it.  Dumb partner renamed "mapfile" to "mapfile_save" with out telling me!!!!!!!!!!!!  This is why it would work on one site and not the other.
Ray Paseur

So you won't show us the var_dump() output we asked for?