gpt4 book ai didi

php - 如何从 MySQL 结果中回显 PHP 变量

转载 作者:行者123 更新时间:2023-11-29 05:05:28 25 4
gpt4 key购买 nike

为了使我的 PHP 自动生成 JSON,我将变量名保存在数据库中(例如 > $test_value_1)。

在我的 php 文件中我有这个变量的值(例如 > $test_value_1 = "TEST VALUE 1")

在此之后我做了一个查询来回应这个变量,但是,而不是返回变量的值(TEST VALUE 1),总是只返回数据库中保存的文本(“$teste_value_1”)

为了更好地理解,请查看我的数据库、变量、查询、响应以及我需要的内容:

表:属性

   id_attribute |  attribue_string | attribute_value
1 | test_string_1 | $test_value_1
2 | test_string_2 | $test_value_2

变量:

$test_value_1 = "Test Value 1"; 
$test_value_2 = "Teste Value 2";

查询:

$query_array = mysqli_query($connect,"
SELECT GROUP_CONCAT(CONCAT('{id:', a.attribute_string, ',value_name:', a.attribute_value, '}') SEPARATOR ', ') AS concat
FROM rel_categories_attributes AS rca
INNER JOIN categories AS c ON c.id_category = rca.categories_id_category
INNER JOIN attributes AS a ON a.id_attribute = rca.attributes_id_attribute
WHERE id_category = '{$id_category}'
");
WHILE ($reg_cat = mysqli_fetch_array($query_array)){

echo $teste_query = $reg_cat["concat"] . ",";

响应: {id:test_string_1,value_name:$test_value_1}, {id:teste_string_2,value_name:$test_value_2},(错误)

我需要什么: {id:test_string_1,value_name:TEST VALUE 1}, {id:teste_string_2,value_name:TESTE VALUE 2},

最佳答案

虽然这看起来是一个糟糕的设计,但您可以使用 variable variables 来实现它.但是您需要在 PHP 中而不是在 MySQL 中进行输出格式化。

$query_array = mysqli_query($connect,"
SELECT a.attribute_string, a.attribute_value
FROM rel_categories_attributes AS rca
INNER JOIN categories AS c ON c.id_category = rca.categories_id_category
INNER JOIN attributes AS a ON a.id_attribute = rca.attributes_id_attribute
WHERE id_category = '{$id_category}'
");

$result = array();
while ($row = mysqli_fetch_assoc($query_array) {
$result[] = array('id' => $row['attribute_string'], 'value_name' => ${$row['attribute_value']});
}
echo json_encode($result);

然而,可变变量几乎总是可以通过使用关联数组来改进。不要使用像 $test_value_1$test_value_2 这样的变量,而是创建一个数组,其键是 "test_value_1""test_value_2",然后使用 $array[$row['attribute_value']]

但更好的办法是将所有详细信息放在数据库本身中,而不是将它们硬编码在脚本中。然后,您可以加入该表以将属性值转换为适当的字符串。

关于php - 如何从 MySQL 结果中回显 PHP 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49181875/

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