我的联系:
<?php
$db = new mysqli('localhost', 'root', '', 'audiologiska_kliniken');
if($db->connect_errno > 0){
die('Ett fel inträffade [' . $db->connect_error . ']');
}
我的课程:
<?php
//Display model
require '../include/connect.php';
Class Display
{
function getData() {
mysql_set_charset('utf8');
if($result =$db->query= "SELECT * FROM patient left join person on person.Personnummer = Patient.Patient";`enter code here`
问题:班级没有识别$db
。那是为什么?
答案 0 :(得分:0)
因为你没有将变量$db
传递给你的函数,(它不在函数范围内)
将您的功能更改为:
function getData($db){
你的函数调用了这个:
getData($db);
应该适合你。
答案 1 :(得分:0)
这个问题是由于变量的范围:你无法从函数内部的全局数据中看到变量。您可以修改函数getData():
function getData() {
global $db;
mysql_set_charset('utf8');
if($result =$db->query= "SELECT * FROM patient left join person on person.Personnummer = Patient.Patient";`enter code here`
但这种方法不是最好的&#34;。更好的方法 - 添加与班级的联系,即:
require '../include/connect.php';
Display::$connection = $db;
Class Display
{
static $connection;
function getData() {
mysql_set_charset('utf8');
if($result =self::$connection->query= "SELECT * FROM patient left join person on person.Personnummer = Patient.Patient";`enter code here`