【发布时间】:2013-05-21 23:55:44
【问题描述】:
我正在使用 php 和 html 构建一个网站,我习惯于从数据库接收数据,也就是动态网站,我已经构建了一个 CMS 供我自己使用。 我正在尝试使用 php 和函数“简化”接收过程。
我的 Functions.php 如下所示:
function get_db($row){
$dsn = "mysql:host=".$GLOBALS["db_host"].";dbname=".$GLOBALS["db_name"];
$dsn = $GLOBALS["dsn"];
try {
$pdo = new PDO($dsn, $GLOBALS["db_user"], $GLOBALS["db_pasw"]);
$stmt = $pdo->prepare("SELECT * FROM lp_sessions");
$stmt->execute();
$row = $stmt->fetchAll();
foreach ($row as $row) {
echo $row['session_id'] . ", ";
}
}
catch(PDOException $e) {
die("Could not connect to the database\n");
}
}
我会在哪里得到这样的行内容:$row['row'];
我试图这样称呼它:
下面的sn-p来自index.php
echo get_db($row['session_id']); // Line 22
只是为了显示所有行中的内容。 当我运行该代码 sn-p 我得到错误:
注意:未定义变量:C:\wamp\www\Wordpress ish\index.php 中的行 在第 22 行
我也在使用 PDO,只是为了让你知道 :)
非常感谢任何帮助!
问候 斯蒂安
编辑:更新的functions.php
function get_db(){
$dsn = "mysql:host=".$GLOBALS["db_host"].";dbname=".$GLOBALS["db_name"];
$dsn = $GLOBALS["dsn"];
try {
$pdo = new PDO($dsn, $GLOBALS["db_user"], $GLOBALS["db_pasw"]);
$stmt = $pdo->prepare("SELECT * FROM lp_sessions");
$stmt->execute();
$rows = $stmt->fetchAll();
foreach ($rows as $row) {
echo $row['session_id'] . ", ";
}
}
catch(PDOException $e) {
die("Could not connect to the database\n");
}
}
【问题讨论】:
-
第 22 行是什么?那是
echo get_db...行吗? -
在
index.php中显示设置$row的代码。 -
是的 :) 10 个字符
-
什么意思?这就是调用 get_db(); 时的工作原理
-
如果你调用
get_db($row['session_id']),它必须在调用函数之前获取$row的值,并将它的元素作为参数传递给函数。