无法将我的MySqli连接到其他课程

时间:2015-01-10 15:38:49

标签: php mysqli require

我的联系:

  <?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。那是为什么?

2 个答案:

答案 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`