写个注册页面,遇到个问题,看了半天,看不明白。。代码如下<?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
//注册页面//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
could not be converted to string ,看看api
不能直接输出一个对象
应该是类似 echo $name_Num->name ;
看一下手册
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);
?>
$name_Num=mysql_fetch_object($name_que);
这个不能这么用的。
mysql_fetch_object($result)返回是一个数组。
//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;
}
不能直接ECHO
$num_rows = mysql_num_rows($result);//改成用它来判断数据量
echo $name_Num ;----------------------------------对象不能转为字符串输出, $name_Num是一个对象, 不知你想echo 里输出什么?
正确用法应该是 echo $name_Num->var_Name 这样才对。
不过最好使用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
得到的是对象,对象是不可以直接ECHO的
$name_Num=mysql_fetch_object($name_que) ;//就是这里出错了
print_r($name_Num );
试试这个