gpt4 book ai didi

php - 使用 PHP PDO 显示 mysql select 语句

转载 作者:行者123 更新时间:2023-12-01 00:13:02 27 4
gpt4 key购买 nike

来自新手的问题:-)

我正在尝试将我的 MySQL 查询语法转换为 PDO,但在开始时遇到了一些问题。

我的页面中有一个名为 dbc.php 的包含文件。包含代码:

define ("DB_HOST", "localhost"); // set database host
define ("DB_USER", "dbuser"); // set database user
define ("DB_PASS","dbpass"); // set database password
define ("DB_NAME","dbname"); // set database name

$link = mysql_connect(DB_HOST, DB_USER, DB_PASS) or die("Couldn't make connection.");
$db = mysql_select_db(DB_NAME, $link) or die("Couldn't select database");

我的页面代码是:

<?php
include 'dbc.php';
page_protect();

function get_users($db) {
$getusers = $db->query('SELECT employeeid, fullname FROM Persons order by fullname asc');
}

?>

我想用下面的代码显示表格输出:

<table>
<tr>
<th> Full Name</th>
</tr>
<?
while($row = $getusers->fetch(PDO::FETCH_ASSOC))
{
?>
<tr>
<td>
<?
echo $row['fullname'];
?>
</td>
</tr>
<?
}
?>
</table>

当前输出错误:

Fatal error: Call to a member function fetch() on a non-object in /home/she/public_html/versionfour/people.php on line 170

第 170 行是我的“while($row = $getusers->fetch(PDO::FETCH_ASSOC))”语句。

我知道我在这里遗漏了一些简单的东西,可能是因为我还没有完全理解 PDO。

欢迎任何帮助。

感谢和问候,R

最佳答案

您的页面代码将 $db 视为 PDO 对象,而实际上它不是。您的设置必须包含类似 $db = new PDO('CONNECTION STRING HERE'); 的行(请参阅 the documentation 以确定您的数据库类型的连接字符串;您没有提及是否这是 mysql、mssql 或其他),而不是 mysql_connect 调用。

关于php - 使用 PHP PDO 显示 mysql select 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12601507/

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