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

PHP语法错误排查:从MySQL读取数据代码报错求助

嘿,我来帮你搞定这个PHP语法错误的问题!你遇到的意外出现'readphp'(T_STRING)错误,核心原因其实很明显,咱们一步步拆解:

问题根源分析

首先看你贴出来的代码片段,最后一行的echo语句明显没写完:

echo "<b><a href=\"readphp.php?id={$row['employee_id']}\">{$row['emp...";

这里的{$row['emp...是不完整的变量(比如你可能想写employee_name却没写完),而且整个echo语句既没闭合双引号,也没加结束的分号,PHP解析到readphp的时候找不到正确的语法结构,直接触发了T_STRING错误。

另外还有两个必须提醒你的重要问题:

  • 你用的mysql_*系列函数早就被PHP官方废弃了,PHP 7及以上版本直接移除了这些函数,继续用的话在新环境里根本跑不起来,建议换成mysqli_*或者PDO。
  • 你的代码存在SQL注入风险,直接把数据库字段拼到URL里,后续优化一定要用参数化查询来避免安全问题。
修复后的完整代码示例

我给你补全了语法,还换成了更安全兼容的mysqli版本,你可以参考:

<?php
// 改用mysqli连接数据库(直接包含数据库名,无需单独调用选择库的函数)
$connection = mysqli_connect("localhost", "root", "", "company");

// 检查连接是否成功
if (!$connection) {
    die("数据库连接失败: " . mysqli_connect_error());
}

// 执行查询语句
$query = mysqli_query($connection, "SELECT * FROM employee");

// 检查查询是否成功
if (!$query) {
    die("查询失败: " . mysqli_error($connection));
}

// 循环输出查询结果
while ($row = mysqli_fetch_array($query)) {
    // 补全echo语句,确保变量、引号、分号都正确闭合(这里假设你要输出员工姓名,可根据实际字段修改)
    echo "<b><a href=\"readphp.php?id={$row['employee_id']}\">{$row['employee_name']}</a></b><br>";
}

// 关闭数据库连接
mysqli_close($connection);
?>
关键修复点
  • 补全了echo语句中的变量,闭合了双引号和分号,解决了直接触发语法错误的问题。
  • 替换了废弃的mysql_*函数为mysqli_*,适配新版本PHP。
  • 增加了连接和查询的错误检查,方便你排查后续可能出现的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 11:00:49