已采纳回答 / 用户4681732
从你的结果来看 是因为把 "'.md5('pdw02').'" 双引号中的内容看做是字符串了可以把 "'.md5('pdw02').'" 边上的双引号,单引号和. 去掉试试 即变成md5('pdw02') 这样
2016-04-09
最赞回答 / UFO2015
$sql = <<<EOFINSERT user(username,passwd) VALUES("u01","'.md5()'"),("u02","'.md5('pwd').'"),("u03","'.md5()'");EOF;EOF;// EOF; 结束符要顶格写(前面不可以有空格!)google:http://stackoverflow.com/questions/20931450/parse-error-syntax-error-unexpected-t-sl
2016-04-09
已采纳回答 / MR_WAYNE
暂时木有,PDO的SQL语句不是直接执行绑定后的语句的,而是分步执行,可以通过日志来看SQL语句,可以参考一下这个:PHP PDO参数绑定查询后,查看实际执行SQL的方法
已采纳回答 / 醉忆雨
query用于简单查询。(好处简单)prepare+execute用于预处理,使sql语句灵活了很多,也可用防止SQL注入等问题。总的来说是prepare强大安全,query简单。
最赞回答 / 徐林online
这是php的定界符在<<<EOF 和 EOF; 之间的文本, 可以不用转义, 比如单引号和双引号一般用于输出长的html文本或者文本赋值这样写sql语句, 可以不用对字符型字段两边的单引号进行转义
2016-02-22
已采纳回答 / 晨妖风
数据库操作类写法的都遵循一定的思路,无论 php、java、还是 .net,对于数据库的操作原理上基本一致,恰好遇到这问题,也顺带整理一下相关的知识。步骤:连接数据库,这是最关键的一步,数据库都连不上,遑论增删改查。既然要连接数据库,那么就要指定连接时的参数,像什么数据库的类型啦(DBMS,DataBase Management System),用户名啦、密码啦、等等之类的参数。这个参数的写法也有一定的讲究,一开始练习的时候,为了方便,就直接写在同一个文件里。但这是不符合软件工程学原则的,为什么呢?万一哪...
2016-02-09
最赞回答 / 下雨看世界
bindParam()使得代码更加健壮一些,试想一下如果要是执行一个很多的参数的array,举个例子,项目初始的时候,只有5个参数,但是扩展业务的时候,需要扩展更多的参数,那你代码重构的时候需要在array()里面添加一堆的参数,这样会使得代码的可读性变的很差,无论是用于今后的重构,还是扩展业务,都是不利的。而使用bindParam()之后,代码直观,可用性也很高,不用的那一行,完全可以在前面 // ,代码调试也很好。以上是以软件工程角度出发的个人想法
2016-01-27