Mysql数据库只进入一次

时间:2012-08-06 19:46:40

标签: php mysql html database

每次用户点击表单中的提交按钮时,我都会尝试将新信息输入到数据库中。它工作得很好,但它只能工作一次。因此,它将在数据库中输入一行,然后如果用户再次填写表单并单击提交,则不会将任何信息输入数据库,直到我删除上一行,以便在数据库为空时它可以正常工作。这是我的代码,如果你需要更多的信息来帮助我知道我会评价你,并提前一切感谢,将其输入数据库

if($_POST['submit']){
    $query = mysql_query("SELECT * FROM chanels WHERE cname = '$cname'");
    $numrows = mysql_num_rows($query);
    if($numrows == 1) {
         echo "You Channel has already been added. Go back your <a
               href='./memberpage.php'>Station Page.</a>";
    }else{
          if($_POST['description']){
               $description = $_POST['description'];
               if(strlen($description) < 250 ){
                   $code = $_GET['code'];
                   $category = $_POST['category'];
                   mysql_query("INSERT INTO chanels VALUES 
                              ('','$code','$cname','$category','$description',''
                              )");
                   echo "You Channel has been added. Go back your <a 
                                 href='./memberpage.php'>Station Page.</a>";

               }else
                   echo "Your description must be less than 250 characters!";
         }else
             echo "You must enter a description!";  
    }
}

2 个答案:

答案 0 :(得分:1)

您有条件指定,如果存在cname的记录,则不执行任何操作。我认为这可能与你的插件只执行一次有关。我不知道cname是什么,如果cname在每次提交后都不同,但如果不是,你就永远无法进入else条件。

$query = mysql_query("SELECT * FROM chanels WHERE cname = '$cname'");
$numrows = mysql_num_rows($query);
if($numrows == 1){
     echo "You Channel has already been added. Go back your <a href='./memberpage.php'>Station Page.</a>";
}

答案 1 :(得分:1)

您的if else语句限制了功能。

由于行

,您可以添加一行
if($numrows == 1){

添加一行后,满足if语句条件,$ numrows = 1。此时,实际向数据库添加行的else语句永远不会运行!