【问题标题】:Variable between php filesphp文件之间的变量
【发布时间】:2014-03-07 07:26:35
【问题描述】:

在有人指出我的代码在安全性或其他方面存在缺陷之前,我知道我是一个 PHP 菜鸟,并且不介意您转发一些帮助来解决这个问题,而不是仅仅大喊它很糟糕。

我也在下面尝试过,但它对我不起作用,因为它将它存储到会话中(除非会话比我想象的更安全。我假设用户可以从中提取数据,对吗?): http://tinyurl.com/myqx3xo

至于我的问题,我如何能够在我的用户函数中访问变量 $connectdb?当我这样做时,它给了我“未定义的变量”错误,并且没有检测到它是否存在。两者都是在每个页面加载的main\folder\start.php 中的要求,在这些页面上我试图调用该函数,但它给了我失败。当我尝试将 $connectdb 的变量硬编码到函数中时,代码运行良好,但同样有充分的理由不这样做。如果需要,将添加其他详细信息。

未定义变量:main\folder\folder1\users.php 中以 $data 开头的行中的 connectdb

ma​​in\folder\folder1\users.php 函数:

function user_data($id) {
    $data = array();
    $user_id = (int)$id;
    $func_num_args = func_num_args();
    $func_get_args = func_get_args();
    if ($func_num_args > 1) {
        unset($func_get_args[0]);
        $fields = '' . implode(', ', $func_get_args) . '';
        $data = mysqli_fetch_assoc(mysqli_query($connectdb,"SELECT $fields FROM users WHERE id = $id"));
        return $data;
    }
}

ma​​in\folder\folder2\connect.php:

<?php
$connect_fail = 'Example connection failure.';

$dbhost = 'host';
$dbuser = 'user';
$dbpass = 'pass';
$db     = 'database';
$connectdb = mysqli_connect($dbhost, $dbuser, $dbpass, $db) or die($connect_fail);
?>

【问题讨论】:

  • 您是否将 connect.php 包含到您的 users.php 文件中
  • 没有?我想我试过了,但没有用。
  • include("connect.php") 文件比尝试。
  • @Darkaaja 检查我的答案

标签: php mysql variables mysqli database-connection


【解决方案1】:

将你的 connect.php 包含到你的 user.php 中

include('../fodler2/connect.php');

function user_data($id) {
    $data = array();
    $user_id = (int)$id;
    $func_num_args = func_num_args();
    $func_get_args = func_get_args();
    if ($func_num_args > 1) {
        unset($func_get_args[0]);
        $fields = '' . implode(', ', $func_get_args) . '';
        $data = mysqli_fetch_assoc(mysqli_query($connectdb,"SELECT $fields FROM users WHERE id = $id"));
        return $data;
    }
}

【讨论】:

  • 警告:include(../folder2/connect.php):打开流失败。当我尝试这样做时会发生...... :(
【解决方案2】:

在你需要添加的 users.php 文件中

include "../folder2/connect.php";

【讨论】:

    猜你喜欢
    • 2022-01-06
    • 2013-10-14
    • 2012-06-24
    • 1970-01-01
    • 1970-01-01
    • 2016-06-23
    • 2020-07-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多