如何在PHP中显示MySql错误?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (55)

在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));  
提问于
用户回答回答于

用这个:

mysqli_query($this->db_link, $query) or die(mysqli_error($this->db_link)); 
# mysqli_query($link,$query) returns 0 if there's an error.
# mysqli_error($link) returns a string with the last error message

您也可以使用它打印错误代码。

echo mysqli_errno($this->db_link);

瞧一瞧。这儿 and 这儿

用户回答回答于

扫码关注云+社区

领取腾讯云代金券