gpt4 book ai didi

php - 尝试使用 php 中的类从 mySQL 显示

转载 作者:行者123 更新时间:2023-11-29 01:28:01 24 4
gpt4 key购买 nike

我开始使用 php/MySql,并被要求使用一个类来访问我的数据库。当我将所有代码都放在一个文件中时,我可以让显示工作,但是当我尝试从另一个文件调用该类时,我什么也得不到。

这是有效的:

<?php

$host = 'localhost';
$username = 'root';
$password = '';
$dbname = 'testdb';

$myNewConnection = mysqli_connect($host,$username,$password,$dbname);
$query = "SELECT user_name FROM users" or die ("Error..." . mysqli_error($myNewConnection));

// execute the query
$result = $myNewConnection->query($query);

// display output
while($row = mysqli_fetch_array($result)) {
echo $row["user_name"] . "<br>";
}

?>

这是我调用类的代码:

<?php
include("users.php");

$host = 'localhost';
$username = 'root';
$password = '';
$dbname = 'testdb';

//initiate the class
$myDB = new MyDB('localhost', 'root', '', 'testdb');
//$myDB = new MyDB($host,$username,$password,$dbname);
?>

这是我的课:

<?php

class MyDB {

public $query;
public $myConnection;

public function _construct($host,$username,$password,$dbname){

// establish the connection
$this->myConnection = mysqli_connect($host,$username,$password,$dbname);
}
public function list_users() {

// create query to list all users
$this->query = "SELECT user_name FROM users" or die ("Error..." . mysqli_error($this->$myNewConnection));

// execute the query
$result = $this->$myConnection->query($this->$query);

// display output
while($row = mysqli_fetch_array($result)) {
echo $row["user_name"] . "<br>";
}
}

}

?>

感谢任何帮助

最佳答案

如下更改此行(从 querymyConnection 中删除美元符号):

$result = $this->myConnection->query($this->query);

另外您可能需要使用下面的代码调用您的list_users 函数(在实例化您的类之后!将您定义的变量而不是它们的实际值传递给构造函数):

$myDB = new MyDB($host,$username,$password,$dbname);
$myDB->list_users();

构造函数也是用两个下划线编写的,如下所示:

public function __construct

关于php - 尝试使用 php 中的类从 mySQL 显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30684568/

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