小さな検索関数を書きましたが、クラスにサイトブレーキを組み込んでサーバーエラー500を表示します。 私はOOP & PDOを初めて使用していますので、わかりませんもし私が一般的な間違いをした場合、それはちょうどどこかのタイプミスです。誰かが私に手を差し伸べることができれば感謝します。PHP関数がサーバーエラー500を返します
My機能:
<?php
public function searchFullTextPanel($q)
{
try
{
$stmt=$this->db->prepare("SELECT id,firstname,lastname,adresse_str,adresse_plz,adresse_ort,adresse_land,telefon,email,image_name FROM partner WHERE MATCH (firstname,lastname,adresse_str,adresse_plz,adresse_ort,adresse_land,telefon,email) AGAINST q=:q ");
$stmt->bindparam(":q",$q);
$stmt->execute();
if($stmt->rowCount()>0)
{
while($row=$stmt->fetch(PDO::FETCH_ASSOC))
{
?>
<tr>
<td><?php print($row['id']); ?></td>
<td><img src="../cv-imgs/<?php print($row['image_name']); ?>" height="42" width="42"></td>
<td><?php print($row['firstname']); ?></td>
<td><?php print($row['lastname']); ?></td>
<td><?php print($row['email']); ?></td>
<td align="center">
<form name="editPartner" method="post" action="anlegen.php"><input type="hidden" name="id" value="<?php print($row['id']); ?>"><button type="submit" name="editPartner"><i style="color: orange" class="glyphicon glyphicon-edit"></i></button></form>
</td>
<td align="center">
<form name="delPartner" method="post" action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>"><input type="hidden" name="id" value="<?php print($row['id']); ?>"><button type="submit" name="delPartner"><i style="color: red" class="glyphicon glyphicon-remove-circle"></i></button></form>
</td>
</tr>
<?php
}
}
else
{
?>
<tr>
<td>fml...</td>
</tr>
<?php
}
}
}
?>
と私は私のサイトでこのようにそれを呼び出す:問題の
<?php
if(isset($_POST['search']))
{
$q = $_POST['q'];
$crud->searchFullTextPanel($q);
}
?>
エラーを表示するようにPHPを設定します。 いくつかの設定では、エラーは表示されず、500エラーのみが表示されます。 – pbs
php.iniの 'display_errors'を' On'に、 'error_reporting'を' E_ALL'(開発目的のみ)に設定します。 'display_errors'が' Off'の場合、HTTP 500がディスパッチされます。 tryブロックには例外をキャッチするcatchブロックがなければなりません。さもなければ 'try'は意味をなさないでしょう。 'PDOException'の' try {...} catch(PDOException $ e){...} 'をキャッチします。 –
Tyvm、はい、それはtry-blockでした。 – girax