0

私のコードで if($stmt->errorCode() == 0) { を動作させるのに少し問題があります。データベースにあるチケット番号で検索すると表示されますが、データベースにない乱数で検索すると、チケットが見つかりませんというエラー メッセージは表示されません。

     <?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.";
 }

 }
 }

?> 
4

2 に答える 2

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.";
}

いくつかの間違いも修正されました。

于 2013-07-16T14:11:14.450 に答える
0

あなたの問題は、実際echoに出力を行っていないことです。これは変数を割り当てるだけです:

$error_message="no ticket found.";

あなたが望むものは:

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

または多分単に:

echo "no ticket found.";
于 2013-07-16T13:59:13.990 に答える