写个注册页面,遇到个问题,看了半天,看不明白。。代码如下<?php
//注册页面//include("mysql.php") ;
mysql_connect("localhost","root","zd123456") ;
mysql_select_db("mysql") ;if($_POST){$landname=$_POST['landname'] ;
$password=$_POST['password'] ;
//echo $password ;
//die() ;
$repassword=$_POST['repassword'] ;
$email =$_POST['email'] ;
//echo $password ;
//echo $repassword ;
//echo $email ;
//if(empty($password)){
// echo "请输入密码。" ;
// die() ;
//}
if($password!==$repassword){
echo  "两次密码不一致。" ;
 die() ;
}
//check name
$name_sql= "select count(*) from `login` where `landname`='".$landname."'"  ;
$name_que=mysql_query($name_sql) ;
$name_Num=mysql_fetch_object($name_que) ;//就是这里出错了
echo $name_Num ;
if($name_Num==1)
  echo "<script language='javascript'>alter('该用户名已注册,请更换注册名')</script>";
else
  $insert_sql = "insert into `login`(`landname`,`password`,`email`) values('".$landname."','".$password."','".$email."') " ;
  $Insert =mysql_query($insert_sql) ;
  echo "<script language='JavaScript'>alter('注册成功');</script>" ;
   
  }
?>错误代码如下:
   Catchable fatal error: Object of class stdClass could not be converted to string in C:\Apache2.2\htdocs\login.php on line 39

解决方案 »

  1.   

    看懂那几个英文单词,差不多就知道为什么了
     
    could not be converted to string  ,看看api
      

  2.   

    额。。我是新手。。API是什么??
      

  3.   

    echo $name_Num ;这里有问题 
    不能直接输出一个对象
    应该是类似 echo $name_Num->name ; 
    看一下手册
      

  4.   

    同三楼 提示的错误是 不能将对象或类转为字符串<?php
    mysql_connect("hostname", "user", "password");
    mysql_select_db("mydb");
    $result = mysql_query("select * from mytable");
    while ($row = mysql_fetch_object($result)) {
        echo $row->user_id;
        echo $row->fullname;
    }
    mysql_free_result($result);
    ?> 
      

  5.   

    $name_que=mysql_query($name_sql) ;
    $name_Num=mysql_fetch_object($name_que);
    这个不能这么用的。
    mysql_fetch_object($result)返回是一个数组。
      

  6.   


    //check name
    $name_sql = "select count(*) count from `login` where `landname`='".$landname."'";
    $name_que = mysql_query($name_sql);
    while($row = mysql_fetch_object($name_que))

      $name_Num = $row->count;
    }
      

  7.   

    mysql_fetch_object取到的是个类
    不能直接ECHO
      

  8.   

    $result = mysql_query("SELECT * FROM table1", $link);
    $num_rows = mysql_num_rows($result);//改成用它来判断数据量
      

  9.   

    $name_Num=mysql_fetch_object($name_que) ;//就是这里出错了
    echo $name_Num ;----------------------------------对象不能转为字符串输出, $name_Num是一个对象, 不知你想echo 里输出什么?
    正确用法应该是 echo $name_Num->var_Name 这样才对。
      

  10.   

    感谢各位,我中午后面用print_r试出来了。。找到问题的症结所在了。。谢谢8楼的前辈提供的思路。。谢谢9楼的前辈教的新方法。。谢谢。。对了,那个分怎么给法啊??现在结贴吗??第一次到这里发帖。。
      

  11.   

    使用mysql_fetch_array() 
    不过最好使用pdo了可以看下我写的数据库类,这样你不用自己写了
    queryphp ORM数据库类
    --------------------------------------------------------
    教程地址
    http://topic.csdn.net/u/20100228/22/3bea834b-efc0-4aa0-af4a-a4923af8b60c.html
    http://topic.csdn.net/u/20100226/12/43bf3dc5-795f-4fa5-861a-2f7bf8fd0cd6.html 
    下载地址
    http://code.google.com/p/queryphp/downloads/list
      

  12.   

    mysql_fetch_object — 从结果集中取得一行作为对象
    得到的是对象,对象是不可以直接ECHO的
      

  13.   


    $name_Num=mysql_fetch_object($name_que) ;//就是这里出错了
    print_r($name_Num );
    试试这个