【发布时间】:2017-07-28 14:29:43
【问题描述】:
我正在从 MySql 数据库中收集大量数据字符串。这些数据必须在我网站上的各个不同地方使用。所以我希望从我的数据库中收集的每个字符串都分配给它自己的变量。我不想一遍又一遍地编写相同的代码。因此,我想使用一个数组来收集所有字符串并在此过程中创建特定变量。以下是我所拥有的。
$tableName = "fruits";
$variablesArray = array(
"Apple",
"Banana",
"Coconut",
);
foreach($variablesArray as $val) {
$query = "SELECT * FROM {$tableName} WHERE ID = '{$val}'";
$result = mysqli_query($conn, $query) or die('error');
while($data = mysqli_fetch_array($result)) {
For ($n = 0; $n < 1; $n++){
${'$val'} = $data["COLORS"];
}
}
echo ${'$val'};
echo "</br>";
}
在上面,我使用数组中数据库的 ID 从我的数据库中收集数据。这与“绿色”、“黄色”、“棕色”相呼应。
然而,我想要的是创建三个变量:
- $Apple = "绿色"
- $Banana = "黄色"
- $Coconut = "棕色"
上面的代码不会创建这些。我不确定如何使用 ${'$val'} 来实现这一点。我也尝试过创建关联数组,但我无法得到我想要的。我希望这里有人能指出我正确的方向。谢谢!
【问题讨论】:
-
您的表格是否包含字符串 ID?
-
您应该创建一个加载这些变量的类。然后你可以在你需要的地方注入同一个类实例(它已经在实例化中加载了变量),而不是用一堆变量来混乱全局范围。
-
用户双人玩偶。 $$val = $data["颜色"];并回显 $$val
-
你为什么不获取 one 中的所有值 select (with `where ID in('Apple','Banana',..)?