gpt4 book ai didi

PHP:为什么我的 count() 不是?打印出我的数组?

转载 作者:行者123 更新时间:2023-11-29 18:14:22 25 4
gpt4 key购买 nike

我目前正在我要构建的网页上使用 PHP 填充/编辑数据库。我对 PHP 比较陌生,所以请原谅我的“新手”知识。我的数据库连接有效,但是,我不明白为什么我的函数“displaySQL”然后将数量计算为数组不会在我的网页上生成任何内容。屏幕上没有显示数字,之后我打算将该值放入 HTML 表格中。我的数据库设置也是针对参数部分(主机、用户名、密码)建立的。感谢您的帮助。

class User{

var $conn;
function __construct($hostname,$username,$password){
try{
$conn = new PDO("mysql:host=$hostname;dbname=pjj5",
$username, $password);
echo "Connected successfully <br>";
}
catch(PDOException $e)
{
echo "Connection failed: " . $e->getMessage();
}

}

//display all users information
function displaySQL(){

$sql = "SELECT * FROM accounts";

$q = $conn->prepare($sql);
$q->execute();
$results = $q->fetchAll();
return $results;
}

$db = new User($hostname,$username,$password);
$res = $db->displaySQL();
echo count($res);

最佳答案

要访问对象内的对象变量,您需要使用语法$this->

这一行:

    $conn = new PDO("mysql:host=$hostname;dbname=pjj5",
$username, $password);

还有这一行

$q = $conn->prepare($sql);

应该有$this->conn而不是$conn。在第一个函数中,您创建与新的 $conn 变量的连接,该变量仅在函数的本地范围内,在构造对象后将被丢弃。对于函数 displaySQL() $conn 未定义。

关于PHP:为什么我的 count() 不是?打印出我的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47149231/

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