2013-09-11 5 views
0

Я использую этот код, который позволяет мне видеть мои записи в таблице в таблице, и в этой таблице есть возможность удалить или отредактировать записи. Только я получаю это сообщение об ошибке, и я не могу понять, что я делаю неправильно.Неизвестная ошибка при удалении записей с использованием PDO

Сообщение об ошибке:

Фатальная ошибка: Вызов функции-члена подготовить() на не-объект в C: \ WAMP \ WWW \ Inventaris ++ \ NinjaCodeDelete.php на линии 32

Код :

<?php 
include'Connect2db3.php'; 

$action = isset($_GET['action']) ? $_GET['action']: ""; 

if($action=='delete'){ //if the user clicked ok, run our delete query 
    try { 

     $query = "DELETE FROM BCD WHERE id = ?"; 
     $stmt = $conn->prepare($query); 
     $stmt->bindParam(1, $_GET['id']); 

     $result = $stmt->execute(); 
     echo "<div>Record was deleted.</div>"; 

    }catch(PDOException $exception){ //to handle error 
     echo "Error: " . $exception->getMessage(); 
    } 

} 

$query = "SELECT ID, Categorie, SerieNummer, MacAdress, ProductCode, Prijs, RekNummer, PaletNummer, Hoeveelheid, Aantekeningen FROM BCD"; 
$stmt = $conn->prepare($query); 
$stmt->execute(); 

$num = $stmt->rowCount(); 

echo "<a href='reports.php'>View Reports</a>"; 

if($num>0){ //check if more than 0 record found 

    echo "<table border='1'>";//start table 

     echo "<tr>"; 
      echo "<th>Categorie</th>"; 
      echo "<th>SerieNummer</th>"; 
      echo "<th>MacAdress</th>"; 
      echo "<th>ProductCode</th>"; 
      echo "<th>Prijs</th>"; 
      echo "<th>RekNummer</th>"; 
      echo "<th>PaletNummer</th>"; 
      echo "<th>Hoeveelheid</th>"; 
      echo "<th>Aantekeningen</th>"; 
     echo "</tr>"; 

     while ($row = $stmt->fetch(PDO::FETCH_ASSOC)){ 

      extract($row); 

      echo "<tr>"; 
       echo "<td>{$Categorie}</td>"; 
       echo "<td>{$SerieNummer}</td>"; 
       echo "<td>{$MacAdress}</td>"; 
       echo "<td>{$ProductCode}</td>"; 
       echo "<td>{$Prijs}</td>"; 
       echo "<td>{$RekNummer}</td>"; 
       echo "<td>{$PaletNummer}</td>"; 
       echo "<td>{$Hoeveelheid}</td>"; 
       echo "<td>{$Aantekeningen}</td>"; 
       echo "<td>"; 

        echo "<a href='edit.php?id={$id}'>Edit</a>"; 
        echo "/"; 

        echo "<a href='#' onclick='delete_user({$id});'>Delete</a>"; 
       echo "</td>"; 
      echo "</tr>"; 
     } 

    echo "</table>";//end table 

}else{ 
    echo "No records found."; 
} 

?> 

<script type='text/javascript'> 

    function delete_user(id){ 
     var answer = confirm('Are you sure?'); 
     if (answer){ 
      window.location = 'NinjaCodeDelete.php?action=delete&id=' + id; 
     } 
    } 
</script> 

Я также хочу сказать, что я не продвинутый программист, я нашел этот код в Интернете, где, казалось, будет работать для других людей, которые использовали его. У меня есть опыт работы с Mysql и php, но не с PDO. Надеюсь, ты сможешь мне помочь! Благодарю вас за продвинутый.

+0

Как инициализируется '$ conn'? –

+0

Вы нигде не указали $ conn. Чтобы получить доступ к функции-члену, вам нужно создать объект этого класса. –

+0

Почему вы называете эту ошибку «неизвестной»? –

ответ

-1

Что такое "include'Connect2db3.php';"?

И с этим я имею в виду connect2db3.php и этот файл находится в правой папке?

Ваше соединение может выглядеть следующим образом:

<?php 
$config['conn'] = array(
'host' => 'yourHostName', 
'username' => 'yourUserName', 
'password' => 'yourPassword', 
'dbname' => 'yourDBName' 
); 

$conn = new PDO('mysql:host=' . $config['conn']['host'] . ';dbname=' . $config['conn']['dbname'], $config['conn']['username'], $config['conn']['password']); 

?> 
+1

It Works! :) Спасибо, Орион! :) – KentjeAtWork

Смежные вопросы