Php 删除函数不执行,尽管';id';通过

Php 删除函数不执行,尽管';id';通过,php,html,pdo,Php,Html,Pdo,我有一个代码,显示收据页面中的记录 <?Php require "config.php"; $page_name="currentout.php"; $start=$_GET['start']; if(strlen($start) > 0 and !is_numeric($start)){ echo "Data Error"; exit; } $eu = ($start - 0);

我有一个代码,显示收据页面中的记录

 <?Php
    require "config.php";           

    $page_name="currentout.php";  
    $start=$_GET['start'];
    if(strlen($start) > 0 and !is_numeric($start)){
    echo "Data Error";
    exit;
    }


    $eu = ($start - 0); 
    $limit = 10;                                 
    $this1 = $eu + $limit; 
    $back = $eu - $limit; 
    $next = $eu + $limit; 

    $nume = $dbo->query("select count(id) from receipt")->fetchColumn();


    echo "<TABLE class='t1'>";
    echo  "<tr><th>ID</th><th>Name</th><th>Pass</th><th>Amount</th><th>Action</th></tr>";


    $query=" SELECT * FROM receipt  limit $eu, $limit ";


    foreach ($dbo->query($query) as $row) {

    @$m=$i%2;
    @$i=$i+1;   
    echo "<tr class='r$m'><td>$row[id]</td><td>$row[name]</td><td>$row[phone_num]</td><td>$row[Amount]</td><td><a href='delete.php?id=$row[id]'>delete</a></td></tr>";
    }
    echo "</table>";

    if($nume > $limit ){ 
    echo "<table align = 'center' width='50%'><tr><td  align='left' width='30%'>";

    if($back >=0) { 
    print "<a href='$page_name?start=$back'><font face='Verdana' size='2'>PREV</font></a>"; 
    } 

    echo "</td><td align=center width='30%'>";
    $i=0;
    $l=1;
    for($i=0;$i < $nume;$i=$i+$limit){
    if($i <> $eu){
    echo " <a href='$page_name?start=$i'><font face='Verdana' size='2'>$l</font></a> ";
    }
    else { echo "<font face='Verdana' size='4' color=red>$l</font>";}        
    $l=$l+1;
    }


    echo "</td><td  align='right' width='30%'>";

    if($this1 < $nume) { 
    print "<a href='$page_name?start=$next'><font face='Verdana' size='2'>NEXT</font></a>";} 
    echo "</td></tr></table>";

    } 
    ?>

$pdo
设置为“null”,然后尝试将其用作对象。启用错误报告,您将看到一条相关的错误消息。

您能否在执行之前获取$sql的var_dump并在注释中发布?
$pdo=“null”
这是干什么用的?@Pete:
$sql
是一个不变且没有变量的字符串。。。“从ID=:ID的收据中删除”。@Pete string(35)“从ID=:ID的收据中删除”,因为它将是未定义的变量您正在调用
$pdo->prepare
。如果它说
$pdo
未定义,那么您必须在
$pdo
中实例化pdo类。
<?php
require "config.php";
$pdo="null";
$sql = "DELETE FROM receipt  WHERE ID=  :ID";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':ID', $_GET['id'], PDO::PARAM_INT);  
$stmt->execute($sql);
       echo "Record deleted successfully";


   header('location: currentout.php');
?>