如何针对依赖用户输入的长查询在PHP中显示MySQL错误?

在PHP中,我试图执行一个长的MySQL查询,该查询取决于用户输入。但是,我的查询失败,并显示以下消息,


"Query Failed".

实际上,每当查询失败时,我都会打印此消息,但是我很难找到此失败背后的原因。不幸的是,我找不到它,因为该错误未在网页上指定。有没有办法在网页上显示导致失败的错误消息?


这是我的代码,


$from = "Findings";

$where = "";


if ($service != null)

{

    $from = $from . ", ServiceType_Lookup";

    $where= "Findings.ServiceType_ID= ServiceType_Lookup.ServiceType_ID AND ServiceType_Name= ". $service;


    if ($keyword != null)

        $where= $where . " AND ";

}


if ($keyword != null)

{

    $where= $where . "Finding_ID LIKE '%$keyword%' OR

                     ServiceType_ID LIKE '%$keyword%' OR

                     Title LIKE '%$keyword%' OR

                     RootCause_ID LIKE '%$keyword%' OR

                     RiskRating_ID LIKE '%$keyword%' OR

                     Impact_ID LIKE '%$keyword%' OR

                     Efforts_ID LIKE '%$keyword%' OR

                     Likelihood_ID LIKE '%$keyword%' OR

                     Finding LIKE '%$keyword%' OR

                     Implication LIKE '%$keyword%' OR

                     Recommendation LIKE '%$keyword%' OR

                     Report_ID LIKE '%$keyword%'";

}


$query = "SELECT Finding_ID,

                 ServiceType_ID,

                 Title,

                 RootCause_ID,

                 RiskRating_ID,

                 Impact_ID,

                 Efforts_ID,

                 Likelihood_ID,

                 Finding,

                 Implication,

                 Recommendation,

                 Report_ID  FROM ".$from . " WHERE " . $where;


echo "wala 2eshiq";


$this->result = $this->db_link->query($query);

if (!$this->result) {

    printf("Query failed: %s\n", mysqli_connect_error());

    exit;

}


$r = mysqli_query($this->db_link, $query);

if ($r == false)

    printf("error: %s\n", mysqli_errno($this->db_link));


回首忆惘然
浏览 459回答 3
3回答

郎朗坤

使用功能die():or die(mysql_error());

四季花海

我使用以下命令打开MySQLi的所有错误报告mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);*注意:请勿在生产环境中使用此功能。
打开App,查看更多内容
随时随地看视频慕课网APP