2016-03-22 4 views
-2

小さな検索関数を書きましたが、クラスにサイトブレーキを組み込んでサーバーエラー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); 
    } 
?> 
+0

エラーを表示するようにPHPを設定します。 いくつかの設定では、エラーは表示されず、500エラーのみが表示されます。 – pbs

+0

php.iniの 'display_errors'を' On'に、 'error_reporting'を' E_ALL'(開発目的のみ)に設定します。 'display_errors'が' Off'の場合、HTTP 500がディスパッチされます。 tryブロックには例外をキャッチするcatchブロックがなければなりません。さもなければ 'try'は意味をなさないでしょう。 'PDOException'の' try {...} catch(PDOException $ e){...} 'をキャッチします。 –

+0

Tyvm、はい、それはtry-blockでした。 – girax

答えて

1

一つは、catchブロックを使用してtryブロックを閉じてはいけないということです。しかし、何か他にもある可能性があります。サーバー上のエラーログを確認してください。

+0

Tyvm、はい私はそれを修正しました、それは問題の一部でした。 – girax

関連する問題