gpt4 book ai didi

php - 为什么我无法访问我的数据库?

转载 作者:行者123 更新时间:2023-11-29 06:08:15 25 4
gpt4 key购买 nike

这是我的 dbconnect.class.php

<?php 

class Connect
{
//public $error;
public $db;
public function __construct()
{
$link = mysql_connect("localhost","root","1");
$db = mysql_select_db("tarih",$link);
$this->db = $db;
}
}

$connect = new Connect();
$connect = $connect->db;
?>

这是主 php 文件 (header.class.php)

<?php
require_once ('dbconnect.class.php');
class Header extends Connect
{
public $headers = array();
public function __construct()
{
/*
* Bu sınıf sayfaların header bilgilerini işler.
*/
}

public function sayfaHeader($sayfa = true)
{
$sql = "SELECT * FROM header WHERE id='" . $sayfa . "'";
$query = mysql_query($sql,$connect) or mysql_error();
echo $sql;
}


}

$header = new Header();
echo $header->sayfaHeader();
?>

但是当我运行此代码时,我看到此错误:

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in C:\AppServ\www\ilk\class\header.class.php on line 16

问题是什么?

最佳答案

变量$connect不在类的范围内。要么您将其忽略,然后 mysql_query 选择最后一个可用资源。或者您可以将 $connect 变量传递到类中:

require_once ('dbconnect.class.php');
class Header extends Connect
{
public $headers = array();
protected $database;

public function __construct($database)
{
/*
* Bu sınıf sayfaların header bilgilerini işler.
*/
$this->database = $database;
}

public function sayfaHeader($sayfa = true)
{
$sql = "SELECT * FROM header WHERE id='" . $sayfa . "'";
$query = mysql_query($sql,$this->database) or mysql_error();
echo $sql;
}
}

$header = new Header($connect); // here you pass-through your resource
echo $header->sayfaHeader();

我还想提一下,您应该查看 Design Patterns ,因为它只是您正在创建的一些伪 OOP。

关于php - 为什么我无法访问我的数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10419249/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com