<?
      $con=mysql_connect('localhost', 'root', 'root') or die("不能连接到数据库服务器!".mysql_error());
        $db_selected=mysql_select_db("test",$con);

   
     mysql_query("set names gb2312");
  $postname='巴西';    if (mysql_query("select count(*) from menu where name= $postname")<>0)

echo "<script>alert('国家已经存在,请重新输入!');history.back();window.location.href='add.php';</script>";  
 else
 $sql=mysql_query("insert into menu(parent_id,name) values('0','$postname')");
    echo "<script>alert('国家增加成功!');window.location.href='../index1.php';</script>";

  mysql_close($con);?>我想实现的是如果数据库中有巴西这个国家名了就提示已存在,如果不存在就插入记录,但是明明数据库中已有巴西了,但是还是插入了一条巴西的记录

解决方案 »

  1.   

    这里改成这样就可以了
    $r=mysql_query("select count(*) as c from menu where name= $postname");
    $row = mysql_fetch_array($r);
    if ($row['c']>0) 

    ....
      

  2.   

    //mysql_query() 仅对 SELECT,SHOW,EXPLAIN 或 DESCRIBE 语句返回一个资源标识符
    你需要用mysql_fetch_array等类似函数获取到查询结果来判断楼上的可行
      

  3.   

    我给你说方法吧,
    你要知道mysql_query返回的是什么结果,怎么取返回的结果,
    如何判断返回的结果,"0"可以代表很多含义,同样"1"也一样,
      

  4.   

    <?
          $con=mysql_connect('localhost', 'root', 'root') or die("不能连接到数据库服务器!".mysql_error());
            $db_selected=mysql_select_db("test",$con);

       
         mysql_query("set names gb2312");
      $postname='巴西';
      
      $r=mysql_query("select count(*) as c from menu where name= $postname");
                  $row = mysql_fetch_array($r);
                  if ($row['c']>0)             echo "<script>alert('国家已经存在,请重新输入!');history.back();window.location.href='add.php';</script>";               else
                 $sql=mysql_query("insert into menu(parent_id,name) values('0','$postname')");
                 echo "<script>alert('国家增加成功!');window.location.href='../index1.php';</script>";          mysql_close($con);?>
    我照2楼的改了。代码如上,可是提示Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in E:\web\backup\admin\hs~addnew.php on line 18
      

  5.   

    <?
          $con=mysql_connect('localhost', 'root', 'root') or die("不能连接到数据库服务器!".mysql_error());
            $db_selected=mysql_select_db("test",$con);
            
       
                    mysql_query("set names gb2312");
                  $postname='巴西';
                  
                  $r=mysql_query("select count(*) as c from menu where  name=$postname");            
      if (!empty($r))                echo "<script>alert('国家已经存在,请重新输入!');history.back();window.location.href='add.php';</script>";                  else
                 $sql=mysql_query("insert into menu(parent_id,name) values('0','$postname')");
                 echo "<script>alert('国家增加成功!');window.location.href='../index1.php';</script>";             mysql_close($con);?>
      

  6.   

    $r=mysql_query("select count(*) as c from menu where name=$postname"); if(mysql_fetch_array($r)){
        echo "<script>alert('国家已经存在,请重新输入!');history.back();window.location.href='add.php';</script>";
    }else{}
      

  7.   

    if (mysql_query("select count(*) from menu where name= $postname")<>0)   
    这个是什么东东??
    mysql_query 这个基本为真的。。