2013-07-16 47 views
0

即時通訊有一個小問題得到if($ stmt-> errorCode()== 0){在我的代碼工作。如果我使用數據庫中的故障單號進行搜索,它將顯示它,但如果我使用不在數據庫中的隨機數進行搜索,它將不會顯示錯誤消息,但找不到故障單。Stmt-> errorCode不能正常工作

 <?php 
require("db.php"); 
$error_message=""; 
if (isset($_POST['submit'])){ 
if(empty($_POST['term'])) 
{ 
$error_message="Please enter a Ticket Number."; 
} 
else 
{ 
$query = "SELECT department, subject, message FROM supporttickets Where ticketnumber LIKE :term"; 
$stmt = $db->prepare($query); 
$stmt->execute(array(':term' => $_POST['term'])); 

if($stmt->errorCode() == 0) { 
while (list($department,$subject,$message) = $stmt->fetch(PDO::FETCH_NUM)) { 
echo htmlentities($department); 
} 
}else{ 

$error_message="no ticket found."; 
} 

} 
} 

?> 

回答

0

你的問題是你實際上並不是echo輸出。這只是分配一個變量:

$error_message="no ticket found."; 

你想要的是:

$error_message="no ticket found."; 
echo $error_message; 

或者,也許只是:

echo "no ticket found."; 
0

你不需要在這裏沒有錯誤代碼

<?php 
require("db.php"); 
$data = array(); 
if(!empty($_GET['term'])) 
{ 
    $query = "SELECT department, subject, message FROM supporttickets 
       WHERE ticketnumber = ?"; 
    $stmt = $db->prepare($query); 
    $stmt->execute(array($_GET['term'])); 
    $data = $stmt->fetchAll(); 
} 

foreach ($data as $row) 
{ 
    echo htmlspecialchars($row['department']); 
} 
if (!$data) 
{ 
    echo "Please enter valid Ticket Number."; 
} 

一些錯誤也糾正了。

+0

嗨感謝您的幫助球員,但即使票數量在數據庫中,我也會收到此回報(請輸入有效的門票號碼。) – mrbrin

+0

您應該在您的表單中使用GET方法進行搜索,而不是POST –