本人刚学php,搞不太懂php与mysql的连接,  
我想做一个简单计数器用了如下程序,SELECT  count(*)  FROM  'counter'数据库没有反映,link  mysql测试是成功的,我的设置是PHP5.2.2+apache2.2.4+MySQL5.0  
 
<?php  
       $mysql_server_name  =  "localhost";  
       $mysql_username        =  "mmmm";  
       $mysql_password        =  "mmmm";  
       $mysql_database        =  "jishuqi";  
       //------  
         
       //建立连线  ---透过(服务器地址,使用者名称,使用者密码)  
       $conn=mysql_connect(  $mysql_server_name,$mysql_username,$mysql_password);  
         
       //准备好你的SQL语法  
       $sql  =  "INSERT  INTO  'counter'  (new)  VALUES  ('1');";  
         
       //选取你要处理的资料库  
       mysql_select_db($mysql_database,$conn);  
         
       //进行查询(或叫做执行)...  
       $result  =  mysql_query($sql);  
         
       //结束并且释放连线  
       mysql_close($conn);  
         
       //------------------------------------------------------------------------------  
           
       //建立连线  ---  透过(服务器地址,使用者名称,使用者密码)  
       $conn=mysql_connect(  $mysql_server_name,  $mysql_username,  $mysql_password  );  
           
       //准备好你的SQL语法  
       $sql  =  "SELECT  count(*)  FROM  'counter'  ";  
           
       //进行查询(选取)  
       $result=mysql_db_query(  $mysql_database,$sql,$conn  );  
           
       //将查询后的结果-->抓出一笔  
       $row=mysql_db_query(  $mysql_database,$sql,$conn  );  
           
       //印出该笔资料的所有栏位[阵列]  
       print_r($row);  
         
       //清除查询结果  
       mysql_free_result($result);  
?>  
结果是增加了一行Warning:  mysql_free_result():  supplied  argument  is  not  a  valid  MySQL  result  resource  in  C:\Apache2.2\htdocs\1.php  on  line  42  
如果把  mysql_free_result($result)去掉就什么也没有.  
本人花了一个晚上搞不定,特别郁闷,请大家帮帮拉!

解决方案 »

  1.   

    $sql  =  "INSERT  INTO  'counter'  (new)  VALUES  ('1');";  这句引号内没有; //建立连线  ---  透过(服务器地址,使用者名称,使用者密码)  
           $conn=mysql_connect(  $mysql_server_name,  $mysql_username,  $mysql_password  );  
               
           //准备好你的SQL语法  
           $sql  =  "SELECT  *  FROM  'counter'";            
           //进行查询(选取)  
           $temp = mysql_db_query($mysql_database,$sql,$conn );
           $result = mysql_num_rows($temp);  
               
           //将查询后的结果-->抓出一笔  
           while ($row = mysql_fetch_array($temp))
           {
               //印出该笔资料的所有栏位[阵列] 
               print_r($row);
               echo '<br>';
           }  
             
           //清除查询结果  
           mysql_free_result($result);
      

  2.   

    'counter' 外面不是单引号. 而是 ` 就是数字1 前面的那个键.<?php  
           $mysql_server_name  =  "localhost";  
           $mysql_username        =  "mmmm";  
           $mysql_password        =  "mmmm";  
           $mysql_database        =  "jishuqi";  
           //------  
             
           //建立连线  ---透过(服务器地址,使用者名称,使用者密码)  
           $conn=mysql_connect(  $mysql_server_name,$mysql_username,$mysql_password) or die(mysql_error());  
             
           //准备好你的SQL语法  
           $sql  =  "INSERT  INTO  'counter'  (new)  VALUES  ('1');";  
             
           //选取你要处理的资料库  
           mysql_select_db($mysql_database,$conn) or die(mysql_error());  
             
           //进行查询(或叫做执行)...  
           $result  =  mysql_query($sql) or die(mysql_error());  
             
           //结束并且释放连线  
           mysql_close($conn) or die(mysql_error());  
             
           //------------------------------------------------------------------------------  
               
           //建立连线  ---  透过(服务器地址,使用者名称,使用者密码)  
           $conn=mysql_connect(  $mysql_server_name,  $mysql_username,  $mysql_password  ) or die(mysql_error());  
               
           //准备好你的SQL语法  
           $sql  =  "SELECT  count(*)  FROM  'counter'  ";  
               
           //进行查询(选取)  
           $result=mysql_db_query(  $mysql_database,$sql,$conn  ) or die(mysql_error());  
               
           //将查询后的结果-->抓出一笔  
           $row=mysql_db_query(  $mysql_database,$sql,$conn  ) or die(mysql_error());  
               
           //印出该笔资料的所有栏位[阵列]  
           print_r($row);  
             
           //清除查询结果  
           mysql_free_result($result) or die(mysql_error());  
    ?>  
      

  3.   

    'counter' 外面不是单引号. 而是 ` 就是数字1 前面的那个键.
    谢谢你,我太粗心了,
    现在insert是成功了,可是count(*)的结果抓不出来,页面显示是:Resource id #5
      

  4.   

    SQL语句里,表名好像不用加单引号吧。
      

  5.   

    刚开始就不要着急,这也是熟悉php的过程。不管用什么编程语言,都先要搭配好编程环境,选用一个好的编程工具。比如访问数据库出现问题,如果能单步跟踪,察看变量内容,就能很快发现问题的所在。
    这个体现的是编程思想,不光针对php。
    编程环境搭建以及编程工具的选择可以参看。
    http://community.csdn.net/Expert/topic/5654/5654246.xml?temp=.492779
      

  6.   

    访问数据库可以学习adodb for php。
      

  7.   


     //建立连线  ---  透过(服务器地址,使用者名称,使用者密码)  
           $conn=mysql_connect(  $mysql_server_name,  $mysql_username,  $mysql_password  );  
               
           //准备好你的SQL语法  
           $sql  =  "SELECT  count(*)  FROM  'counter'  ";  
               
           //进行查询(选取)  
           $result=mysql_db_query(  $mysql_database,$sql,$conn  );  
               
           //将查询后的结果-->抓出一笔  
           $row=mysql_db_query(  $mysql_database,$sql,$conn  );  
          while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
          foreach ($line as $col_value) {
            echo $col_value;
         }
        
    }
         
           //印出该笔资料的所有栏位[阵列]  
        //   print_r($row);  
             
           //清除查询结果  
           mysql_free_result($result);