错误代码  
可运行代码          所有用户添加用户删除  
;}echo
;?>
两段代码中的mysql_query的返回值一样,但是为什么一段函数在调用其返回值的时候出现警告如图
回复讨论(解决方案)   select * from users where name=$name and password=$password
上面的代码是有问题的,name和password没有加引号,导致sql语法错误,最终没有返回资源类型,而返回了布尔值false  
 正确的代码应该是  
  select * from users where 'name'=$name and 'password'=$password
$sql=select * from users where name=$name and password=$password;
改为:
$sql=select * from users where name='.$name.' and password='.$password.';
因为你$name,$password如果为空,会造成语法错误。 
   还是错的?把sql语句再改成这样试试,应该是$name和$password没有被当成字符串导致出错。。。  select * from users where 'name'=.$name. and 'password'=.$password
还是错的?把sql语句再改成这样试试,应该是$name和$password没有被当成字符串导致出错。。。   select * from users where 'name'=.$name. and 'password'=.$password
我又写错了。。。应该是这样  select * from users where name='.$name.' and password='.$password.';
还是错的?把sql语句再改成这样试试,应该是$name和$password没有被当成字符串导致出错。。。    select * from users where 'name'=.$name. and 'password'=.$password
我又写错了。。。应该是这样   select * from users where name='.$name.' and password='.$password.';
可否告知为什么 
      $sql=select * from users where name=$name and password=$password;
改为:
$sql=select * from users where name='.$name.' and password='.$password.';
因为你$name,$password如果为空,会造成语法错误。  
可以告知为什么吗?
还是错的?把sql语句再改成这样试试,应该是$name和$password没有被当成字符串导致出错。。。     select * from users where 'name'=.$name. and 'password'=.$password
我又写错了。。。应该是这样    select * from users where name='.$name.' and password='.$password.';
可否告知为什么
因为$name和$password在sql语句中应该是以字符串的形式出现的(也就是说得有单引号包起来$name和$password的值)
还是说,你想知道为什么要那么拼接单引号和双引号?
还是错的?把sql语句再改成这样试试,应该是$name和$password没有被当成字符串导致出错。。。      select * from users where 'name'=.$name. and 'password'=.$password
我又写错了。。。应该是这样     select * from users where name='.$name.' and password='.$password.';
可否告知为什么
因为$name和$password在sql语句中应该是以字符串的形式出现的(也就是说得有单引号包起来$name和$password的值)
还是说,你想知道为什么要那么拼接单引号和双引号?  
我想知道为什么拼接单引号和双引号还有为什么要用将变量放在..的中间,两个点的作用是什么 
   $sql=select * from users where name=$name and password=$password;  
 如果是数值型的$name和$password变量,可以在sql语句中直接使用,如果是字符串类型的变量,需要加单引号 
   我把代码拆成三段,你应该能明白了。两个那个点是用来连接字符串的,意思是告诉php:点之后的变量是个字符串  
  select * from users where name='
' and password='
'
就是说,每个单引号 / 双引号碰到第二个单引号 / 双引号时,那一段字符就结束了。这三段都是一个双引号里包单引号。。 
      我把代码拆成三段,你应该能明白了。两个那个点是用来连接字符串的,意思是告诉php:点之后的变量是个字符串   
   select * from users where name='
' and password='
'
就是说,每个单引号 / 双引号碰到第二个单引号 / 双引号时,那一段字符就结束了。这三段都是一个双引号里包单引号。。  
懂了~谢谢
   
 
   