Re: No Database Connection possible (mySQL)
| From: | M. Sokolewicz | Date: | Fri, 04 Jul 2008 20:18:20 +0000 |
| Subject: | Re: No Database Connection possible (mySQL) | ||
| References: | 1 2 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-276287@lists.php.net to get a copy of this message | ||
David Robley wrote:
Aviation Coding wrote:function foo() { // does something } var_dump(foo()); // returns NULL why? because you don't explicitly return anything. If you did, that'd be the return value. So if you did: function bar() { // does something return true; } var_dump(bar()); // return true Now, your script assumes a return-value: baz() or somethingElse(); is an expression. This basically says: if(!baz()) { somethingElse(); } Now, return (implicitly) null will result in (trough lazy comparison) a false value (*null == false*, null !== false), which then triggers your die() condition. Returning a meaningful value will get rid of that. Other than that, choose 1 of 2 techniques: 1. error out inside the function itself (like you do now) OR 2. error out based on the return-value of the function (like you do now ASWELL) don't combine 1 and 2, stick with either, but not both. function con() { mysql_connect("localhost","user","pass") or die(mysql_error()); mysql_select_db("tava") or die(mysql_error()); } con(); works. The following would work too: function con() { $r = mysql_connect("localhost","user","pass"); if(!$r) { return false; } $r2 = mysql_select_db("tava"); if(!$r2) { return false; } return true; } con() or die('no conn'); would also work correctly. So, stick with either, don't mix em.Hi all, I am having problems with a connection to a mysql database. I am using ---- function con() { mysql_connect("localhost","user","pass") or die(mysql_error()); mysql_select_db("tava") or die(mysql_error()); } ---- Now, when I call the _function_ (!) ---- con() or die("no con"); ---- I get the "no con" output. When I call the mysql_connect and mysql_select directly before executing a query, I get some DB output. But that won't work when I am using the function... Any ideas would be greatly appreciated. Cheers! ChrisI think you need to return something from the function, like true if the connection/select worked, false if not. Cheers You are correct.