webguync Posted December 30, 2010 Share Posted December 30, 2010 Hi, I am testing out some simple code while trying out PHP OOP to connect to the MySQL DB. I am getting an undefined variable error, but not sure why. the test code is: <?PHP error_reporting(E_ALL); include('includes/db.php'); $db = new db(); $db->query("SELECT title FROM blog_posts WHERE id = '7'"); if($sql) { while($r = mysql_fetch_array($sql)) { echo $r['title']; } } ?> and the code to connect to the DB is: <?PHP class db { private $hostname; private $username; private $password; private $database; private $connect; private $select_db; public function db() { $this->hostname = ""; $this->username = ""; $this->password = ""; $this->database = ""; } public function open_connection() { try { $this->connect = mysql_connect($this->hostname,$this->username,$this->password); $this->select_db = mysql_select_db($this->database); } catch(exception $e) { return $e; } } public function close_connection() { try { mysql_close($this->connect); } catch(exception $e) { return $e; } } public function query($sql) { try { $this->open_connection(); $sql = mysql_query($sql); } catch(exception $e) { return $e; } $this->close_connection(); return $sql; } } ?> the specific error is... Undefined variable: sql in E:\DBTest.php on line 9 Link to comment https://forums.phpfreaks.com/topic/223014-not-sure-why-i-am-getting-an-undefined-variable-error/ Share on other sites More sharing options...
BlueSkyIS Posted December 30, 2010 Share Posted December 30, 2010 because $sql is not defined, it is not set to anything. you need to define it using the return value from the function, something like this: $sql = $db->query("SELECT title FROM blog_posts WHERE id = '7'"); if($sql) // etc. Link to comment https://forums.phpfreaks.com/topic/223014-not-sure-why-i-am-getting-an-undefined-variable-error/#findComment-1153039 Share on other sites More sharing options...
webguync Posted December 30, 2010 Author Share Posted December 30, 2010 ah yes, makes sense. That was easy enough, thx! Link to comment https://forums.phpfreaks.com/topic/223014-not-sure-why-i-am-getting-an-undefined-variable-error/#findComment-1153047 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.