You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP执行单条查询结果填充表单字段为空的问题求解

问题原因

  • 变量名不匹配:你的查询结果存储在$result变量中,但表单渲染时调用的是$row["Azienda"],两个变量没有关联,自然取不到值。
  • 结果读取方法错误:你使用了fetchAll()获取查询结果,该方法返回的是包含所有匹配行的二维数组,即使只查到1条数据,也需要通过$result[0]["Azienda"]才能读取到字段值;如果你只需要获取单条数据,直接使用fetch()方法更合理,会直接返回一维的单条结果数组。
  • 查询无匹配结果:可能是$_GET['Azienda']传值异常、WHERE条件匹配不到数据,你可以在查询执行后加var_dump($result)调试,确认是否真的查询到了数据。
  • 转义函数异常:你自定义的escape函数可能出现报错、返回空的问题,可以先临时去掉转义直接输出字段值,验证是否是转义逻辑的问题。

修复代码示例

查询部分修正

$name = $_GET['Azienda'];
$sql = "SELECT [...]
        FROM [...]
        WHERE [...] = :name
        ORDER BY [...]";
$statement = $connection->prepare($sql);
$statement->bindParam(':name', $name, PDO::PARAM_STR);
$statement->execute();
// 单条数据直接用fetch获取,赋值给表单用到的$row变量
$row = $statement->fetch(PDO::FETCH_ASSOC);

表单部分优化(增加兜底判断避免报错)

<form method="post">
    <label for="Azienda">Azienda</label>
    <input type="text" id="Azienda" name="Azienda" value="<?php echo isset($row["Azienda"]) ? escape($row["Azienda"]) : ''; ?>">
</form>

内容的提问来源于stack exchange,提问作者gigiopasticcio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.22 04:06:04