在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));
发布于 2012-09-01 20:19:40
发布于 2012-09-01 20:21:10
使用函数die()
or die(mysql_error());
发布于 2012-09-01 20:27:17
这些建议不起作用,因为它们是针对标准MySQL驱动程序的,而不是针对mysqli的:
如果确实发生了错误,$this->db_link->error
将包含该错误
或
mysqli_error($this->db_link)
都会起作用的。
https://stackoverflow.com/questions/12227626
复制相似问题