这是我在database.php中的代码
$db_host = "localhost";
$db_username = "root";
$db_pass = "";
$db_name = "ss";
$con = new PDO('mysql:host=localhost;dbname=app', $db_username, $db_pass);
在我的课程页面
include_once "database.php";
class article_fun
{
public function myfun()
{
$sqlcreate = $con->query("selct query")
}
}
我们如何使用$con->query("select query")
收到错误Undefined variable: con
如何解决此问题?
答案 0 :(得分:1)
将$con
作为参数传递给article_fun::myFun()
class article_fun
{
public function myfun($con)
{
$sqlcreate = $con->query("selct query")
}
}
仅供参考,在PHP中,通常使用大写字母启动类名并使用camelCase:
class ArticleFun
答案 1 :(得分:1)
您创建的变量不在函数范围内
因此,您无法从函数内部访问函数外部的变量
尝试使用魔术函数__construct()
像这样:
class article_fun{
private $_con;
public function __construct( $con ){
$this -> _con = $con;
};
public function myfun(){
$sqlcreate = $this -> _con->query("selct query")
}
}
现在你只需将$con
var传递给类,如下所示:
$article_fun = new article_fun( $con );
答案 2 :(得分:1)
使用此
class article_fun
{
private $con;
public function __construct($con){
$this->con=$con;
}
public function myfun()
{
$sqlcreate = $this->con->query("selct query")
}
}
称之为
include_once "database.php";
new article_fun($con);
或使用此
class article_fun
{
private $con;
public function __construct(){
$db_host = "localhost";
$db_username = "root";
$db_pass = "";
$db_name = "ss";
$this->con = new PDO('mysql:host=localhost;dbname=app', $db_username, $db_pass);
}
public function myfun()
{
$sqlcreate = $this->con->query("selct query")
}
}
答案 3 :(得分:0)
class article_fun
{
public function myfun()
{
global $con;
$sqlcreate = $con->query("select query")
}
}
您的变量是在全局上下文中定义的,并且您尝试在类的方法中使用它。
答案 4 :(得分:-1)