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

cPanel环境下MySQL与PHP连接及搜索功能故障求助

问题排查与解决方案

先直接点明核心问题,按优先级逐一解决:

1. HTML表单提交按钮无效

你用<a>标签作为提交按钮是错误的——<a>默认是超链接跳转逻辑,不会触发表单的POST提交。这直接导致PHP里的isset($_POST['submit'])永远为false,查询逻辑根本没执行。

修正后的HTML表单:

<!--SEARCH BOX-->
<div class="search-box">
  <form method="POST">
    <input class="search-txt" type="TEXT" name="search" placeholder="SEARCH CAREERS">
    <!-- 把a标签换成标准的button提交按钮,样式可通过CSS调整 -->
    <button class="search-btn" type="SUBMIT" name="submit">
      <i class="fa fa-search" aria-hidden="true"></i>
    </button>
  </form>
</div>

2. PHP变量名不匹配

你把查询结果存在了$result变量里,但后续判断行数、遍历结果时用的是$resultSet,变量名完全不对应,PHP会触发未定义变量错误(若开启错误提示可见),直接跳过结果处理逻辑。

3. SQL字段名带空格需转义

你的表字段(如Job Title、Job Description)包含空格,在SQL语句中必须用反引号`包裹,否则MySQL会将Job识别为字段名,Title视为无效语法,导致查询失败。

4. 缺少数据库连接错误处理

没有判断数据库是否连接成功,万一连接出问题无法及时排查,建议补充连接错误判断逻辑。

修正后的PHP代码:

<?php 
$output = NULL; 
// 开发阶段开启错误提示,方便排查问题
error_reporting(E_ALL);
ini_set('display_errors', 1);

if(isset($_POST['submit'])){ 
    // 连接数据库
    $mysqli = new mysqli("localhost", "jj3wg2td_wix", "Sebastian!16", "jj3wg2td_careerslist");
    
    // 新增:检查连接是否成功
    if ($mysqli->connect_error) {
        die("数据库连接失败: " . $mysqli->connect_error);
    }

    $search = $mysqli->real_escape_string($_POST['search']); 
    // 修正:字段名加反引号,避免空格导致SQL语法错误
    $result = $mysqli->query("SELECT * FROM careers WHERE `Job Title` LIKE '%$search%'"); 

    // 修正:使用正确的变量名$result
    if($result->num_rows > 0){ 
        while($rows = $result->fetch_assoc()) { 
            $jobTitle = $rows['Job Title']; 
            $jobDesription = $rows['Job Description']; 
            $salaryLow = $rows['Salary Low']; 
            $salaryHigh = $rows['Salary High']; 
            $output .= "Job Title:$jobTitle<br /> Job Description:$jobDesription<br /> Salary Low:$salaryLow<br /> Salary High:$salaryHigh<br /> <br />"; 
        } 
    } else { 
        $output = "No results"; 
    } 
    // 关闭数据库连接
    $mysqli->close();
} 
?>

额外说明

关于数据库主机的问题:cPanel环境下,MySQL主机通常就是localhost(默认端口3306可省略),因为数据库与网站部署在同一服务器上,这个不是导致问题的原因,核心还是前面的代码错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 17:02:38