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

PHP连接MySQL成功但无法查询product表pid字段问题求助

问题排查与解决

1. 核心原因:未传入pid参数

页面显示“Product does not exist isset!”,直接说明代码里的isset($_GET['pid'])判定为false——你访问页面时,没有在URL中携带pid参数。

  • 正确的访问格式应该是:http://你的域名/文件名.php?pid=xxx(xxx替换为数据库中存在的pid数值,比如1、2这类)
  • 直接访问不带参数的URL,必然会进入该分支触发提示。

2. 额外检查项(避免后续踩坑)

即使传入参数后仍可能出现“Product does not exist!”,可提前排查:

  • 参数类型匹配:从表结构来看,pid是INT类型,传入的参数必须是数字,不能是字符串或其他类型。
  • 开启错误提示定位SQL问题:在代码开头添加错误输出,方便排查SQL相关问题:
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
  • 表名/字段名大小写:Linux系统下MySQL表名、字段名区分大小写,需确保代码里的product和pid与数据库中完全一致。

3. 优化后的代码示例

<?php
// 开启错误报告,便于排查问题
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

$con = mysqli_connect('localhost','root','password','adeline');
echo $con ? 'Connection Successfully' : 'Connection Failed';

if (isset($_GET['pid'])) {
    // 确保pid是整数,避免类型不匹配
    $pid = (int)$_GET['pid'];
    $stmt = $con->prepare('SELECT * FROM product WHERE pid = ?');
    $stmt->bind_param('i', $pid); // 显式绑定参数类型为int
    $stmt->execute();
    $product = $stmt->get_result()->fetch_assoc();

    if (!$product) {
        exit('Product does not exist!');
    }
    // 可在这里输出产品数据,比如var_dump($product);
} else {
    exit('Product does not exist isset!');
}
?>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 19:45:36