我是 PHP 的新手,所以也许这是一个简单的问题。这是我用来更新数据库的类。问题是它一直在标记为* 的行给我一个错误,因为它找不到$con,这显然在函数openconn() 中。看来我无法将连接传递给另一个函数。我做错了什么吗?谢谢
class retreats {
public $retreat_name = '';
function openconn() {
$con = mysql_connect("localhost","root","root");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("PHPTest", $con);
}
function closeconn(){
mysql_close($con);
}
function add_retreat(){
openconn();
$sql="INSERT INTO tbl_retreats (retreat_name) VALUES ('".$this->retreat_name."')";
if (!mysql_query($sql,$con)) *******
{
die('Error: ' . mysql_error());
}
echo "Record Successfully Added";
closeconn();
}
}
最佳答案
$con
是函数 openconn
的局部变量。尝试以这种方式更改您的代码:
class retreats {
public $retreat_name = '';
private $con;
function openconn() {
$this->con = mysql_connect("localhost","root","root");
if (!$this->con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("PHPTest", $this->con);
}
function closeconn(){
mysql_close($this->con);
}
function add_retreat(){
openconn();
$sql="INSERT INTO tbl_retreats (retreat_name) VALUES ('".$this->retreat_name."')";
if (!mysql_query($sql,$this->con))
{
die('Error: ' . mysql_error());
}
echo "Record Successfully Added";
closeconn();
}
}
关于php - 在函数之间传递数据库连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7115966/