依我之见1、开源,内建函数丰富,代码片段多2、配套齐全.LNMP(Linux,Nginx,Mysql,Php)3、免费,降低成本。4、群体庞大,发展到了一定地步,不是小众语言,项目维护方便。5、脚本语言,写起来方便。
1、良好的安全性PHP是开源软件,所有PHP的源代码每个人都可以看得到,代码在许多工程师手中进行了检测,同时它与Apache编绎在一起的方式也可以让它具有灵活的安全设定,PHP具有了公认的安全性能。开源造就了强大,稳定,成熟的系统。2、跨平台特性PHP几乎支持所有的操作系统平台及数据库系统,并广为流行。3、执行速度快,效率高PHP是一种强大的CGI脚本语言,语法混合了C、Java、Perl和PHP式的新语法,执行网页速度比CGI、Perl和ASP更快,而且内嵌Zend加速引擎,性能稳定快速,占用系统资源少,代码执行速度快。PHP消耗相当少的系统资源。的源代码:所有的PHP源代码事实上都可以得到。4、很好的移植性和扩展性强PHP具有很好的开放性和可扩展性,PHP可以运行在任何服务器上(不管是windows还是Linux)属于自由软件,其源代码完全公开,任何程序员为PHP扩展附加功能都非常容易。在很多网站上都可以下载到最新版本的PHP。目前,PHP主要是基于Web服务器运行的,支持PHP脚本运行的服务器有多种,其中最有代表性的为Apache和IIS。5、降低网站开发成本PHP不受平台束缚,可以在UNIX、Linux等众多不同的操作系统中架设基于PHP的Web服务器。采用Linux+Apache+PHP+MySQL这种开源免费的框架结构可以为网站经营者节省很大一笔开支.6.支持面向对象面向对象编程(OOP)是当前的软件开发趋势,PHP对OOP提供了良好的支持。可以使用OOP的思想来进行PHP的高级编程,对于提高PHP编程能力和规划好Web开发构架都非常有意义。7.功能强大PHP在Web项目开发过程中具有极其强大的功能,而且实现相对简单,主要表现在如下几点:可操纵多种主流与非主流的数据库,例如:MySQL、Access、SQLServer、Oracle、DB2等,其中,PHP与MySQL是现在绝佳的组合,可以跨平台运行。可与轻量级目录访问协议进行信息交换。可与多种协议进行通信,包括IMAP、POP3、SMTP、SOAP和DNS等。使用基于POSIX和Perl的正则表达式库解析复杂字符串。可以实现对XML文档的有效管理及创建和调用Web服务等操作。8.可选择性PHP可以采用面向过程和面向对象两种开发模式,并向下兼容,开发人员可以从所开发网站的规模和日后维护等多角度考虑,选择所开发网站应采取的模式。PHP进行Web开发的过程中使用最多的是MySQL数据库。PHP5.0以上版本中不仅提供了早期MySQL数据库操纵函数,而且提供了MySQLi扩展技术对MySQL数据库的操纵,这样开发人员可以从稳定性和执行效率等方面考虑操纵MySQL数据库的方式。9.版本更新速度快与数年才更新一次的ASP相比,PHP的更新速度要快得多,因为PHP几乎每年更新一次。10.模板化实现程序逻辑与用户界面的分离。11.应用范围广目前在互联网有很多网站的开发都是通过PHP语言来完成的,例如,搜狐、网易和百度等,在这些知名网站的创作开发中都应用到了PHP语言。
<?php//求模运算符//1.php中对小数求模无意义,会自动转换成整数来求模;echo 23.5345%3.2343;echo "<br>";//输出结果2//2.php中求模的结果正负由被除数来决定;echo -34%4;echo "<br>";//输出-2echo 98%-4;echo "<br>";//输出2//3.求模用到的地方:一是让一个数不超过一
1 简单易用。这玩意实在太简单,太好用了,尤其对于中小项目来说,没有复杂的各种复用组件,没有特别复杂度配置过程。创建骨架很简单。而且甚至可以不用写模型类。而且可以很方便的控制注入等基本安全措施。各种复写的方法也非常好用,比如ajax、cookie等等2 各种功能齐全。想要高大上?没问题,thinkphp的各种功能都非常齐全,什么上传、验证码、分页、高速缓存、模型验证balabala全都有。3 利于拓展,源代码公开。想要使用自己的东西、或者改写也很方便4 文档。最起码有个能看懂的中文文档,这非常必要。虽然错误百出,介绍的也不够详细,但是聊胜于无。
query方法里边,因为你给的不全,没法判断是你写的究竟是什么$re没在上文中出现这个变量,只有一个$rs,不知道是不是这个?PHP类,成员有属性和方法,需要加访问修饰限定符如 public private protected等,如: class person{ private $name; public function say(){ echo 'hello';}}访问对象属性石必须先对象再属性,常量,和静态成员就用类名属性,或者方法名访问 这是个操作数据库的类, 定义方法肯定是写在类里边的,并且需要加访问修饰限定符,定义方法就跟普通函数一样,给你个参照吧:/** * mysql数据库操作类 */class MySQLDB { //保存单例属性 private static $instance; //操作数据库所需要的必要信息 private $_host;//主机地址 private $_port;//端口 private $_user;//用户名 private $_pass;//密码 private $_charset;//默认字符集 private $_dbname;//默认数据库 private $_prefix;//表前缀 private $_link;//连接标识保存属性 /** * 构造方法 * @param $params array 构造时,需要的信息列表 $params = array('host'=>'xxx', 'post'=>'xxx', 'user'=>....); * */ private function __construct($params=array()) { //通过实例化对象时,传递的参数,初始化属性。 //同时判断,增加默认值 $this->_host = isset($params['host'])?$params['host']:'127.0.0.1'; $this->_port = isset($params['port'])?$params['port']:'3306'; $this->_user = isset($params['user'])?$params['user']:'root'; $this->_pass = isset($params['pass'])?$params['pass']:''; $this->_charset = isset($params['charset'])?$params['charset']:'utf8'; $this->_dbname = isset($params['dbname'])?$params['dbname']:''; $this->_prefix = isset($params['prefix'])?$params['prefix']:''; //连接服务器 $this->_connect(); //设置编码 $this->_setCharset(); //选择数据库 $this->_selectDb(); } /** * 单例所需的私有克隆方法 */ private function __clone() { } /** * 用于获得该类对象的静态方法 * * @param $params array 构造该对象时 所使用的参数数组 * * @return 该类的单例 */ public static function getInstance($params) { if(!(self::$instance instanceof self)) { self::$instance = new self($params); } return self::$instance; } /** * 连接数据库 * * @access private */ private function _connect() { if($link = mysql_connect("{$this->_host}:{$this->_port}", $this->_user, $this->_pass)) { //连接成功 $this->_link = $link; } else { //连接失败 exit('-_-!连接失败'); } } /** * 在该类的对象,被反序列化时,对相应的资源进行重新初始化 */ public function __wakeup() { //连接服务器 $this->_connect(); //设置编码 $this->_setCharset(); //选择数据库 $this->_selectDb(); } /** * 在该类的对象,被序列化时,设置哪些属性应该序列化 */ public function __sleep() { return array('_host', '_port', '_user', '_pass', '_dbname', '_charset', '_prefix'); } /** * 设置字符集 * * @access private */ private function _setCharset() {// if(!mysql_query("set names {$this->_charset}")) {// exit(mysql_error());// } $this->_query("set names {$this->_charset}"); } /** * 选默认数据库 */ private function _selectDb() { if($this->_dbname != '') { $this->_query("use {$this->_dbname}"); } } /** * 执行sql * * @access private * * @param $query string 待执行的sql语句 * * @return mixed 如执行的查询类,返回结果集,非查询类的布尔值 */ public function _query($query) { //执行,判断执行结果,返回执行结果。如果有错误,提供错误信息 if($result = mysql_query($query, $this->_link)) { return $result;//返回结果即可 } else { //执行失败 echo '-_-好像失败了!<br>'; echo '出错的语句是:', $query, '<br>'; echo '错误的信息是:', mysql_error($this->_link), '<br>'; echo '错误的代码是:', mysql_errno($this->_link), '<br>'; die;//脚本就不走了 } } /** * (标题)获得符合sql,的全部数据,适合用于执行查询类方法,select,show,desc(describe) * * (详细信息)通过得到一条查询类语句,返回所有的查询结果,方法内,需要实现,执行,获得结果集,在结果集内取得所有数据 * * @access public * * @param $query_str string 需要执行的查询类字符串 * * @return array 二维数组,每一个一维元素代表一条记录,每一个二维的元素,表示一个记录的字段 */ public function getAll($query_str) { if($result = $this->_query($query_str)) { //成功 $rows = array();//初始化,防止一条记录都没有。 while($row = mysql_fetch_assoc($result)) { $rows[] = $row; } return $rows; } else { //失败 return false; } } /** * 获得符合sql,的第一条记录,适合用于执行查询类方法,select,show,desc(describe) * * (详细信息)通过得到一条查询类语句,返回第一条查询结果,方法内,需要实现,执行,获得结果集,在结果集内取得第一条数据 * * @access public * * @param $query_str string 需要执行的查询类字符串 * * @return array 一维数组,每个元素,表示一个记录的字段 */ public function getRow($query_str) { if($result = $this->_query($query_str)) { //成功 $row = mysql_fetch_assoc($result); return $row; } else { //失败 return false; } } /** * 获得符合sql,的第一条记录的第一个字段,适合用于执行查询类方法,select,show,desc(describe) * * (详细信息)通过得到一条查询类语句,返回第一条查询结果的第一个字段,方法内,需要实现,执行,获得结果集,在结果集内取得第一条数据的第一个字段 * * @access public * * @param $query_str string 需要执行的查询类字符串 * * @return string 表示一个记录的第一个字段的值 */ public function getOne($query_str) { if($result = $this->_query($query_str)) { //成功 $row = mysql_fetch_row($result);//最好使用索引数组 return $row[0]; } else { //失败 return false; } } /** * 获取最新插入的自动增长ID */ public function last_insert_id() { return mysql_insert_id($this->_link); } /** * 取得影响的行数 */ public function affected_rows() { return mysql_affected_rows(); }}
HTML是浏览器的展示语言,而PHP是服务器端的程序语言。后台程序除了可以用PHP外,还有选择诸如JSP、ASP、Python等,但是这些程序都先在服务器端解释成HTML语言再发送给客户端,因此浏览器看到仅仅是HTML。 建网站有两种意思:一种是用现成的PHP系统,比如Wordpress、Joomla!等,此时你不需要掌握PHP知识(甚至不需要了解HTML);另一种是自己开发网站,此时你必须学习HTML与PHP(另外还有Javascript与CSS)。 总之,如果想在这方面走得更远,HTML是基础,PHP是提高;如果只是玩玩,学习了解HTML、PHP即可。现在建网站实在太方便了.....
我应该怎么备案啊
我自己的博客还没有博客,以下的文字来自百度,可供参考:“建议域名和空间在一起购买,主要这样管理起来方便,做起售后服务也比较简单些,不会出现踢皮球的现象。 域名备案都需要哪些东西,根据现在的备案要求,个人备案需要提供sfz+半身照+管理协议+核验单,公司备案需要提供企业营业执照+sfz+半身照+管理协议+核验单 ”
参考资料:http://zhidao.baidu.com/question/376662686.html
简单点说吧,看你插入的内容是什么类型的数据,如果是字符型的两边就带是''单引号,如果是数值型的,就不用单引号,有也不会出错,“.”这个点是php的连接符,就像ASP的&一样。用来连接两个变量的。 还有在实际运用中,如果你实在搞不清楚,这些引号,你就用echo $sql输出来看看sql的最终语句。
(select usemc from tb_user where semc="'.$usemc.'",$conn);
应该是这么写,有头有尾
为什么要这样' " $ " ',而且需要两种引号
引号这个东西不好解释啊,书里应该有解释。
我记得还可以
(select usemc from tb_user where semc='$usemc',$conn);
你试试
PHP全称英文超级文本预处理语言(Hypertext Preprocessor),它是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。PHP语言主要有以下特点:1、开源性和免费性。由于PHP的解释器的源代码是公开的,所以安全系数较高的网站可以自己更改PHP的解释程序。另外,PHP运行环境的使用也是免费的。2、跨平台性强。由于PHP的解释器是开源的,所以能够在所有的操作系统平台上非常稳定地运行,这使它成为常用的服务器语言。3、快捷性。PHP是一种非常容易学习和使用的一门语言,它的语法特点类似于C语言,但又没有C语言复杂的地址操作,而且又加入了面向对象的概念,再加上它具有简洁的语法规则,使得它操作编辑非常简单,实用性很强。4、面向过程和面向对象并用。在PHP语言的使用中,可以分别使用面向过程和面向对象,而且可以将PHP面向过程和面向对象两者一起混用,这是其他很多编程语言是做不到的。5、运行高效性。由于PHP运行在相应的平台解释器上,消耗系统资源比较少,运行的环境简单,所以效率就很高。6、数据库连接的广泛性。PHP可以与很多主流的数据库建立起连接,如MySQL、ODBC、Oracle、AdabasD、S等,PHP是利用编译的不同函数与这些数据库建立起连接的,PHPLIB就是常用的为一般事务提供的基库。