gpt4 book ai didi

php - 解析存储在 mysql 表中的 json 字段作为 php 变量

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

尝试从遗留 MySQL 数据库(我没有构建它)中提取变量以创建动态 php 页面。在 mysql 表上,uploadedImgInfo 字段存储为类似于 json 的内容。

我的 php 页面的精简版如下所示:

<? if (isset($_GET['id'])){
include "connectionFile.php";
$id = preg_replace('#[^0-9]#i','',$_GET['id']);
$sql=mysql_query("SELECT * FROM survey_584582 WHERE id='$id' LIMIT 1");
$fieldsiteCount=mysql_num_rows($sql);
if($fieldsiteCount>0){
while($row=mysql_fetch_array($sql)){
$name=$row["fieldSiteName"];
$lat=$row["lat"];
$lon=$row["lon"];
$img = $row['uploadedImgInfo'];

echo $name;

}
} else {
echo "That field site does not exist";
exit();
}
} else{
echo "error";
exit();
}
?>

当我

echo $img; 

之后

echo $name; 

我明白了

现场 1

[{"title":"titleText","comment":"commentText","size":"1111","name":"imgName.jpg","filename":"randomNumbers","ext":"jpg" }]

当我使用

echo $name; 
$phpArray = json_decode($img, true);
foreach ($phpArray as $key => $value) {
echo "<h2>$key</h2>";
foreach ($value as $k => $v) {
echo "$k | $v <br />";
}
}

我明白了

Fieldsite1

0

title | titleText

comment | commentText

size | 1111

name | imgName.jpg

filename | randomNumbers

ext | jpg

如何从 uploadedImgInfo mySQL 字段中提取标题、注释和名称到 php 变量?更新我的表很好。

不过,直接通过 php 调用变量会更好。

最佳答案

您实际上不需要迭代数组,您可以对其进行 json_decode,获取第一个数组,然后使用那里的键。

$phpArray = json_decode($img, true);

echo $phpArray[0]['filename'].'.'.$phpArray[0]['ext'];

此外,在 php 5.4 + 中,您实际上可以使用 $phpArray = json_decode($img, true)[0]; 获取堆栈中的第一个元素,因此您无需调用[0] 每个变量。

关于php - 解析存储在 mysql 表中的 json 字段作为 php 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29786369/

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