我把这个工作数组放在一个php类文件中,比如config.class.php

var $admins = array("a" => "b", "c" => "d");

现在,出于某种原因,我需要将a、b、c、d存储在SQL数据库中并在这里调用它们。为此,我创建了一个测试文件data.php,如下所示:-
<?php
$x = "localhost";
$y = "user";
$z = "pass";
$xyz = 'db-name';

// Create connection
$connect = mysqli_connect($x, $y, $z, $xyz);

// Check connection
if (!$connect) {
    die("Connection Error: " . mysqli_connect_error());
}

$a = 'SELECT name FROM admin WHERE id = "aaaa";';
$b = 'SELECT pass FROM admin WHERE id = "aaaa";';
$ab = $connect->query($a);
$ba = $connect->query($b);

$c = 'SELECT name FROM admin WHERE id = "bbbb";';
$d = 'SELECT pass FROM admin WHERE id = "bbbb";';
$cd = $connect->query($c);
$dc = $connect->query($d);
?>

// id is a string not int in my case.

现在,在Copy.Case.PHP文件中,还有一些文件需要修改,因为我正在修改文件,因此调用其他文件的现有语法如下所示:
require_once dirname(__FILE__)."/file1.php";
require_once dirname(__FILE__)."/file2.class.php";
require_once dirname(__FILE__).'/file3.class.php';

我首先将data.php(与config.class.php文件位于同一文件夹中)文件添加到其中:-
require_once dirname(__FILE__)."/data.php";
require_once dirname(__FILE__)."/file1.php";
require_once dirname(__FILE__)."/file2.class.php";
require_once dirname(__FILE__).'/file3.class.php';

并将关联数组更改为:-
var $admins = array($ab => $bc, $cd => $dc);

但它无法识别这些变量。我试图将它们存储在config.class.php中的另一个变量中,然后在数组中使用这些变量,但仍在执行:-
意外变量$ab..等将作为错误出现。请引导我哪里做错了什么。谢谢您!

最佳答案

这行代码,

$ab = $connect->query($a);
$ba = $connect->query($b);

必须具有等效的关联排列
$ab => $ba,

这行代码,
$cd = $connect->query($c);
$dc = $connect->query($d);

必须具有等效的关联排列
$cd => $dc

在config.class.php中,这样做
require 'data.php';
$admins = array(
 $ab => $ba,
 $cd => $dc
);

只是在关联中使用的变量与查询结果中的变量不匹配。

关于php - 在关联数组中使用PHP变量从SQL数据库获取数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36545004/

10-11 03:53
查看更多