<?php
$P=$_REQUEST["PetTypeID"];
$C=$_REQUEST["CommonName"];
mysql_connect(localhost,root,wangxiang);$query = "delete from pet_type where PetTypeID='$P' and CommonName='$C'";
$result = mysql_db_query("example", $query);if($result)
echo "删除成功";
else 
echo "删除失败";?>
在这个文件里你没取得传递过来的参数。

解决方案 »

  1.   

    我也感觉是这样。。
    怎么才能在dele_data.php中调用到del.php里传递的$P,$C2个参数呢?$query = "delete from pet_type where PetTypeID='$P' and CommonName='$C'";
    这样调用怎么就是不行呢?
      

  2.   

    把你的SQL语句echo出来在数据库中执行一下,看有问题没?
      

  3.   

    你得学会怎样调试程序,调试程序是一门不小的学问,比如你的问题,在一些程序的断点echo一下,就可以知道程序运行情况
      

  4.   

    我是把所有调试和错误判断都去掉的最简化版了现在问题估计出在怎么才能在dele_data.php中调用到del.php里传递的$P,$C2个参数呢?$query = "delete from pet_type where PetTypeID='$P' and CommonName='$C'";
    这样调用怎么就是不行呢?
      

  5.   

    晕,dele_data.php里没有传递$P,$C,从哪儿来的啊,
    用$_GET['PetTypeID']和$_GET['CommonName']
    另外调试的时候最好在这样写:mysql_query($sql) or die($sql);这样如果sql语句出错会把错语的sql语言打印出来,也就很容易找到错误了,sql语句也可以先在phpMyAdmin里执行一下,保证语法没有错误。
    另外看上面的代码楼主php的编码水平还稍显'业余'了些,建议多看看高水平的源代码,多学习
      

  6.   

    $P=$_GET['PetTypeID'];
    $C=$_GET['CommonName'];
    $query = "DELETE FROM pet_type WHERE PetTypeID=$P and CommonName=$C";
    mysql_query($query);
      

  7.   

    $P,$C变量跟你的配置有关,建议加上$_GET来获取值;在这句delete from pet_type where PetTypeID='$P' and CommonName='$C'给$P与$C赋两个值看能不能执行.或直接echo $query看一下是什么结果.
      

  8.   

    echo $query看看是什么.放到数据库中直接执行行不?mysql_query($query)
    这样即可.
      

  9.   

    <?
    mysql_connect(localhost,root,wangxiang);$query = "select * from pet_type";
    $result = mysql_db_query("masteringphp", $query); while ($r = mysql_fetch_array($result)) 
    { $P = $r["PetTypeID"];
    $C = $r["CommonName"];
    $G = $r["Genus"];
    $S = $r["Species"];
    $D = $r["Description"];

    echo "ID:$P ,CName:$C ,Genus:$G ,Species:$S ,Des:$D <a href=dele_data.php?PetTypeID=$P&CommonName=$C>删除</a><br><br>";
    }
    ?>
    /////////////////////////////////////////////////以下是负责删除这行记录的页面dele_data.php<?php
    mysql_connect(localhost,root,wangxiang);////////////在save.php中加入以下两句//////////////////////////
    $P=$_GET["PetTypeID"];
    $C=$_GET["CommonName"];
    ////////////因为你上面参数的变量跟处理文件的变量不一致//////////////////////////
    ////////////能成功删除才怪:)                          //////////////////////////$query = "delete from pet_type where PetTypeID='$P' and CommonName='$C'";
    $result = mysql_db_query("example", $query);if($result)
    echo "删除成功";
    else 
    echo "删除失败";?>
      

  10.   

    这和你的配置文件有关。改成这样就OK了!href=dele_data.php?PetTypeID=$P&CommonName=$C>
    $query = "delete from pet_type where PetTypeID='".$_GET['PetType']."' and CommonName='".$_GET['CommonName']."'";
      

  11.   

    更正:
    这和你的配置文件有关。改成这样就OK了!$query = "delete from pet_type where PetTypeID='".$_GET['PetType']."' and CommonName='".$_GET['CommonName']."'";
      

  12.   

    给你个帖子看吧http://bbs.chinaunix.net/forum/viewtopic.php?t=161690&show_type=new&sid=5d793bb1fe3cc1c7f5c060a5ed23e775
      

  13.   

    同意楼上的,dele_data.php里应使用$_GET,如果怀疑是PHP的问题你可以echo一下看值过来没,如果是数据库的问题,你可以把那句话在数据库里执行看是否删除成功