作者bibo9901 (Leo)
看板PHP
标题Re: [请益] php中的一段语法可执行但觉得不合理
时间Sun Oct 9 11:09:31 2011
※ 引述《robinnpca (rob)》之铭言:
: 有两个区域有疑问 看不懂
: 以用颜色标出来
: 有人可以帮我解释一下为何这样写可以过吗?
: if (mysql_num_rows($Recfinduser) > 0 ){
: header("Location:member_join.php?errMsg=1&username=".$_POST["username"]." ");
: }else{
: $query_insert ="insert into 'member'('username', 'password', 'name', 'sex',
: 'birthday', 'email', 'telephone', 'address','jointime' )
: values (";
: 上面加个分号是必须的吗?只是为了分行?
当然必须.
$query_insert="...."; 才是一个statement.
: $query_insert .=" ' " .$_POST["username"]." ', " ;
: 上面盖麻加个.不是直接下query_insert =就好了吗?
....因为 $query_insert在上面有先指定值啊,
接下来的 SQL 要附加在後面, 当然要用 .=
: 有需要这样连接字串吗?
这是方法之一(虽然很烂),
若你不喜欢也可以考虑别的, 像 here-doc, sprintf() .... etc.
: $query_insert .=" ' " .$_POST["password"]." ', " ;
: $query_insert .=" ' " .$_POST["name"]." ', " ;
: $query_insert .=" ' " .$_POST["sex"]." ', " ;
: $query_insert .=" ' " .$_POST["birthday"]." ', " ;
: $query_insert .=" ' " .$_POST["email"]." ', " ;
: $query_insert .=" ' " .$_POST["telephone"]." ', " ;
: $query_insert .=" ' " .$_POST["address"]." ', " ;
: $query_insert .=" ' " .$_POST["schoolja"]." ', " ;
: $query_insert .=" ' " .$_POST["schoolsa"]." ', " ;
: $query_insert .=" ' " .$_POST["schoolh1a"]." ', " ;
: $query_insert .=" ' " .$_POST["schoolh2a"]." ', " ;
: $query_insert .=" ' " .$_POST["aliname"]." ', " ;
: $query_insert .=" ' " .$_POST["IDcard"]." ', " ;
: $query_insert .=" NOW())";
: 这个刮号)超诡异的 我本来是想说 $query_insert.="NOW()";这样就好
: 然後再下一行再加入 ");以呼应上面的values(" 但是这样会显示错误?怪!
NOW() 是 MySQL 的函式,
这个 SQL query 应该是 "insert into .... values
(..., ..., ..., NOW()
)"
很正常啊, 哪里怪?
依你的意思分两行写也没关系
$query_insert .= " NOW()";
$query_insert .= ")";
照理说不会有错误啊, 你的"显示错误"是什麽错误 ?
: mysql_query($query_insert);
: header("Location:member_join.php?loginstats=1");
: }
: 请教大家!感谢各位!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.124.100.215
※ 编辑: bibo9901 来自: 122.124.100.215 (10/09 11:10)
※ 编辑: bibo9901 来自: 122.124.100.215 (10/09 11:10)
※ 编辑: bibo9901 来自: 122.124.100.215 (10/09 11:11)
1F:推 robinnpca:欧!了解了!感谢回文!茅塞顿开... 10/11 11:08