您好,欢迎访问三七文档
php最新版本5.5.9apache配置PHP环境:1、apache服务器的安装:相关的安装程序httpd-2.0.64-win32-x86-openssl-0.9.8o.msi2、PHP安装http:/、安装apache:D:/)打开apache配置httpd.conf2)设置apache的默认虚拟服务器根目录documentrootD:/)设置apache默认运行文件DirectoryIndexindex.htmlindex.php4)打开php扩展,找到apache与php的连接文件httpd.conf开启:LoadModulessl_modulemodules/mod_ssl.so加入:LoadModulephp5_moduleE:\php\php5apache2_2.dll路径设置时PHP解压后的文件夹中的php5apache2_2.dll5)apache对PHP文件类型的设置:IfModulemod_php5.cAddTypeapplication/x-httpd-php.phpAddTypeapplication/x-httpd-php.php3AddTypeapplication/x-httpd-php-source.phps/IfModule6)解析PHP到某个目录,然后将php文件夹中的所有的.dll文件全部放入到c:/windows/system327)在PHP解压文件中找到php.ini-dist改成php.ini复制到c:/windows8)设置php的扩展库extension_dir=php解压目录/ext9)测试:!;?如果页面中显示ThisistestPage!安装成功PHP:对于初级的人来说入门很简单优点:1、开源免费论坛微博旅游电子商城企业站(系统开源)以后大多做二次开发2、简单易学,逻辑简单但是不努力也学不会3、相对于aspjspc++java,运行效率高,PHP是由C语言开发的,它是一门解释性语言php:PHP代码---PHP解释器----结果解释器是别人用C封装的别的语言:其他文件----编译器----编译文件----运行,出结果java(java编译器)4、开发效率高:面向对象的封装和各种有效的开发模式(开发方法)封装的类可以多次使用5、安全性高:相对于老语言来说的①、代码可以加密(人为加密)②、使用HTTP协议处理的部分数据,已经做了简单的处理6、使用范围相对较广些:B/S架构的软件、网页手机的服务器端的语言处理程序按地址赋值(按引用赋值):将一个变量的地址赋值给另外一个变量。如果其中一个改变另一个也被改变$a=123;$b=&$a;变量的变量:以某个变量作为另一个变量的变量名$a=c;$c=100;$d=$$a;//$d=$cecho$d;数据库数据库系统:mysqlorcalmssqlsqlservernosql等等开启数据库服务netstartmysqlnetstopmysql进入数据库控制器mysql-uroot-pENTER:12234查看数据库:showdatabases;createdatabase数据库名;dropdatabase数据库名;usedbname;表操作showtables;droptabletablename;altertabletablenameaddidint(3)notnull...;altertabletablenamedropid;altertabletablenamemodifyidvarchar(4);altertabletablenamechangeidvarchar(4)int(10)notnull;desctablename;createtabletablename(字段1字段类型(长度)int(3),.......)engine=myisamdefaultcharsetgbkgb2312utf8;记录的操作:select*fromtablename;insertintotablenme(,,,)value(,,,);insertintotablenme(,,,)values(,,,),(,,,),(,,,).....;insertintotablenmeset属性名=值,.....all|distinctselectdistinctgradefromtablename;groupbyorderbyasc|descorderbyaddr(asc),agedesclimit3,7多表查询select字段名1、2、3、tablename.字段formtable1,table2wheretable1.相同意义的一列=table2.这一列PHP操作MysqlPHP操作mysql其实主要就涉及了PHP的几个函数。操作顺序:1、链接数据库-u-p2、选择我们要操作的数据库use3、执行MYSQL语句(取得结果集)sql语句insertselect4、从结果集中取得数据5、清空结果集6、关闭数据库quitexit\q1】、链接数据库:mysql_connect(服务器:端口号,root,密码);首先,要用PHP函数对数据库进行操作,要先开启apache的扩展功能1、将PHP.ini的extension_dir修改为extension_dir=ext的路径extension_dir=F:\、将extension=php_mysql.dll前面的分号去掉3、对httpd操作F:\找到其中的LoadModulephp5_,并在其后面加一句话:PHPIniDirC:\Windows\php.ini4、重启apache注意!实在加载不了mysql模块,在httpd.conf文件中在LoadModule后面加上#Loadfilec:\webserver\php\php5ts.dll#Loadfilec:\webserver\php\libmysql.dllmysql_connect();用法:mysql_connect(服务器名:端口号,用户名,密码);解释:1、服务器名默认是localhost,端口号是3306,通常省略端口号2、用户名密码就是我们Mysql的用户名、密码3、成功则返回一个数据库的标识,失败返回falseeg:mysql_connect.php(即时的链接)如果链接成功,得到数据库链接标识“Resourceid#2”如果链接失败,Accessdeniedforuser'root'@'localhost'(usingpassword:YES)扩展:当页面需要频繁的进行数据库的访问时可以建立与数据库的持久连接来提高执行效率mysql_pconnect()常链接2】、选择数据库mysql_select_db(数据库名,链接标识);注意:1、数据库名,必须是一个已经存在的数据库,如果数据库不存在返回falseeg:mysql_connect.php//2、返回值:如果函数执行成功,返回true(1),如果失败,返回空3】、执行SQL语句mysql_query(执行的语句,链接标识);mysql_query(setnamesutf8)//设置数据库编码为utf8返回值:成功返回“Resourceid#3”错误返回空注意:1、将SQL语句赋值变量写在query语句外面,使语句更清晰,可读性更强,便于查找错误2、sql语句不能以分号结束3、mysql_query对select操作,执行成功返回的是一个资源标识符,如果执行失败,返回的是false(如果是查询语句,select该函数会返回一个资源类型变量,这个变量包含一个查询结果)$result=mysql_query(select*fromstudent,$link);4、对于其它类型的SQL语句(update\delete\insert),返回的是true或false,对于非false的返回,意味着执行是合法的并能够被服务器执行,但这并不是说明任何有关的操作影响到或者有返回的行数,很有可能一条成功的操作并未影响或者返回任何的行。mysql_affected_rows():该函数判断我的sql语句影响的行数(不需要参数);注意:增删改查只有查(select)会返回资源类型,其余的返回的都是truefalse4】、取出数据(仅对查询语句有效)mysql_fetch_array();(一个索引数组,一个关联数组)mysql_fetch_assoc();(一个关联数组,一般用)mysql_fetch_row();(一个索引数组)作用:从查询语句执行后得到的结果集中取出数据$list=mysql_fetch_array($result):将result记录集中的第一个记录转换为既有关联又有索引的数组,会出现两遍数据其实array有第二个可选参数MYSQL_ASSOC、MYSQL_NUM、MYSQL_BOTH$list=mysql_fetch_row($result):将result记录集中的第一条记录转换为索引数组$list=mysql_fetch_assoc($result):将result记录集中的第一个记录转换为关联数组mysql_fetch_assoc=mysql_fetch_array(,MYSQL_ASSOC)mysql_fetch_row=mysql_fetch_array(,MYSQL_NUM)注意:1、三个函数返回的都是一维数组2、mysql_fetch_array();返回的数组中,数组元素既有索引数组元素,又有关联数组的元素3、mysql_fetch_assoc();返回的是一个关联数组,键名对应数据表的字段名4、函数每次只能从结果集中取出一条数据,也就是数据表中的一行,在取出一条数据之后会将数据指针后移一位5、如果想要将结果集中的所有数据都取出来,需要用到while循环6、mysql_affected_rows(),该函数判断我的sql语句影响的行数(不需要参数)取得前一次MySQL操作所影响的记录行数insertdeleteupdatde7、mysql_num_rows()用来判断我select语句有没有查询的结果(需要参数,结果集)返回结果集中行的数目。1.当从数据库中取出数据时,mysql_num_rows()函数返回符合查询条件的记录行数,如果没有符合的,返回0。2.当向数据库插入数据和更新某个记录的部分内容时,用mysql_affected_rows返回插入或者更新成功的行数。5】、清空结果集mysql_free_result(结果集);6】、关闭数据库mysql_close(链接标识符);注意:1、mysql_close()只能用来关闭非持久的链接7】、数据的添加用mysql_query执行insert操作insertinto表名value();mysql_affected_rows();//你的数据库操作影响的行数大于0的整数表明受影响或检索的行数。“0”表示UPDATE语句未更新记录,在查询中没有与WHERE匹配的行,或未执行查询。“-1”表示查询返回错误8】、数据的删除TP框架团队把基于单入口+oop+MVC+[模版引擎]组合写成一个项目基本操作架构代码的重用!框架:国内:thinkphp框架国外:ZendFrameworkcodeigiterYiiMVCMVC(Model/View/Controller)模式是国外用得比较多的一种设计模式,好象最早是在Smaltalk中出现。MVC包括三类对象。Model是应用对象,View是它在屏幕上的表示,Controller定义用户界面对用户输入的响应方式
本文标题:php面试题
链接地址:https://www.777doc.com/doc-2886875 .html