![]() |
|
Welcome to the Computer Webmaster Gaming Console Graphics Forum forums. You are currently viewing our boards as a guest which gives you limited access to view most discussions and access our other features. By joining our free community you will have access to post topics, communicate privately with other members (PM), respond to polls, upload content and access many other special features. Registration is fast, simple and absolutely free so please, join our community today! If you have any problems with the registration process or your account login, please contact contact us. |
| |||||||
| PHP PHP for some can be one of the hardest website programming codes, so do you need help on your PHP script, if it is php4, php5 or lower this is the place for you for any PHP help. |
![]() |
| | LinkBack | Thread Tools | Display Modes |
| | #1 | ||
| Hi, Quick Version: My included function cannot read my global mysql link variable, and is causing me lots of hassle! Any ideas? Long Version: I have a mysql connection set up, "$db_link" which I have declared as global in the following way: global $db_link; $db_link = mysql_connect(...); I then have a function to close the link and unset the variable so that our "clean up" script at the end of the page will not try to close it again and therefore error. The function reads: function closeDB() { mysql_close($db_link); unset($db_link); } However, the script is erroring saying it cannot find $db_link. So I tried passing the variable from the calling statement to the function: closeDB($db_link) function closeDB($db_link) { mysql_close($db_link); unset($db_link); } This closes the database link, but unsets the local $db_link in the function, not the global variables. I am fairly new to PHP, so if anyone can tell me why my function cannot read the global variable, or if I am doing anything really stupid, I would really appreciate your help! Thanks, Andy Hall. | |||
| Advertisements |
| | #2 | ||
| "Andy Hall" <andy@jaar.co.uk> wrote in message news:bhibv2$16j$1@sparta.btinternet.com... > Hi, > Long Version: > I have a mysql connection set up, "$db_link" which I have declared as global > in the following way: > > global $db_link; > $db_link = mysql_connect(...); > > I then have a function to close the link and unset the variable so that our > "clean up" script at the end of the page will not try to close it again and > therefore error. The function reads: > > function closeDB() > { > mysql_close($db_link); > unset($db_link); > } > > However, the script is erroring saying it cannot find $db_link. So I tried > passing the variable from the calling statement to the function: > > closeDB($db_link) > function closeDB($db_link) > { > mysql_close($db_link); > unset($db_link); > } > > This closes the database link, but unsets the local $db_link in the > function, not the global variables. > > I am fairly new to PHP, so if anyone can tell me why my function cannot read > the global variable, or if I am doing anything really stupid, I would really > appreciate your help! > > Thanks, > > Andy Hall. > > Maybe this will help? function closeDB() { global $db_link; // use the global var $db_link mysql_close($db_link); unset($db_link); } If you want to use global vars in functions declare them in the function by "global $theVar;" Edwin | |||
| | #3 | ||
| "Andy Hall" <andy@jaar.co.uk> wrote in news:bhibv2$16j$1@sparta.btinternet.com: > Long Version: > I have a mysql connection set up, "$db_link" which I have declared as > global in the following way: > > global $db_link; > $db_link = mysql_connect(...); See the other reply on that. > However, the script is erroring saying it cannot find $db_link. So I > tried passing the variable from the calling statement to the function: > > closeDB($db_link) > function closeDB($db_link) > { > mysql_close($db_link); > unset($db_link); > } You're not passing the real link resource. In this case, you should be passing it by reference (similar to pointers in C). You can do it in two ways AFAIK: closeDB (&$db_link); OR function closeDB (&$db_link) { KAH | |||
| | #4 | ||
| > > > Long Version: > > I have a mysql connection set up, "$db_link" which I have declared as > > global in the following way: > > > > global $db_link; > > $db_link = mysql_connect(...); > > See the other reply on that. > I tried that but it still did the same. I was thinking maybe register_globals is set to off. I didnt set up the server and I guess if that is the case it would not work? Would it be better to use a _REQUEST var for the db_link as follows: $_REQUEST["db_link"] = mysql_connect(...); This seems to work exactly how I would like, but are there any knock on effects/problems if I do this? Thanks for the help Andy. | |||
| Featured Websites | ||||
|
![]() |
| Tags: global, help, variables |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | |
| Display Modes | |
| |
Similar Threads | ||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| global.asa file help | StlyDan | Database | 0 | 05-31-2007 8:37 PM |
| Global Sites: China !!!!! | NESTER | Ebay Technical Questions | 0 | 05-31-2007 12:45 AM |
| WDS - Global Address List | MeVs | MSN questions | 0 | 05-28-2007 1:45 AM |
| Featured Websites | ||||
|