PHP基础入门
简单说一下网站的发展,早期的网络,网上全是基本的文本文件,没有图片声音,也没有文字颜色,大小等修饰。后来HTML解决了这个问题,它负责修饰这些简陋的文本,还加上图片,声音等,再后来出现了js代码,使得网页可以加入简单的动态,逻辑功能。但还是太弱了,无法存储,修改用户数据,只有基本的“展示”功能。直到动态语言ASP,PHP,JSP等出现,结合各自的解析器和数据库,极大的加强网站的功能。
这些动态语言代码组成了一个网站的骨架,而网站的血肉(具体内容)则放置到数据库中,用户访问的时候,立即由语言解析器将相应数据库内容“填”入网页骨架中,形成普通的HTML页,再发送到用户浏览器中。这些HTML代码是实时生成,根据条件变化的,“动态”一词大约就是这意思。
现在的网站简单的说就是对数据库操作的包装,将普通用户简单的操作(如点击)转换成相应的SQL语句去操作数据库而己。所以数据库操作SQL语言是重中之重。
一。PHP特点
1。分界符内部的全被当成PHP代码,分界符外部的当成普通的HTML代码。分界符通常用<? ?>和<?php ?>两种。
2。以分号结束代码行。(结构语句特殊,可以不用分号)
3。变量用$号加变量名表示。
4。赋值用’='号,但比较是否相等用’==’,新手经常混淆。
5。许多功能都由相应的函数完成。函数的格式是函数名加括号。中间有为数不同的参数。
6。字符串要用单引号或双引号隔开。
二。连接mysql数据库。
假设已经装好mysql,并且用户名和密码为’user’和’pass’,数据库名为’dbname’,主机为localhost(若不装成本机改用其他IP)
1.连接数据库
mysql_connect(’localhost’,'user’,'pass’);
这个函数将返回一个连接字串(可以简单理解为钥匙,以免每次操作数据库都要重新输入用户名等信息)。通常将这个“钥匙”赋值给一个变量。以便以后引用
$link = mysql_connect(’localhost’,'user’,'pass’);
为了连接失败的时候,显示明显的出错信息,可以这样
$link = mysql_connect(’localhost’,'user’,'pass’) or die(’无法连接’);
这样当连接失败的时候,会显示’无法连接’,并且停止程序运行。
2。选择数据库
mysql_select_db(’dbname’,$link);
选择好后面将要操作的数据库。第一个参数是数据库名,第二个是第一步得到的”钥匙”。(不一定要用$link这个变量名的)
3。通常还要设置字符集以防乱码。
mysql_query(”set names ‘utf8′”);
常用的有gb2312,gbk,utf8三种编码,根据你的数据库字符集和网页字符集来设置,要三方统一才不会乱码。
4。读取数据库内容
$rs = mysql_query($sql, $link);
第一个参数是具体的SQL语句,注意要加引号。第二个参数仍然第一步得到的“钥匙”。
例如:$rs = mysql_query(”SELECT * FROM user”, $link);
将返回整个user表的内容,不过这个时候的内容还只是资源集,还必须转换为数组或者对象的形式才方便PHP使用,请看下一步。
5。将资源集转换为数组(只有select语句后需要转换。)
$row = mysql_fetch_assoc($rs);
这样就将上一次得到的$rs资源集转成数组了。数组中的元素用$row['name']这样的形式读取。例如user表中有age字段表示年龄,那么此时echo $row['age']; 就能输出具体年龄了。或者用var_dump($row)就能输出整个数组(所有字段)。
除了mysql_fetch_assoc转换方式外,还有mysql_fetch_array和mysql_fetch_object等,不过新手只要学会一种就行了。
如果是好动手的同学,一定会发现上述的$row = mysql_fetch_assoc($rs);语句,只输出一行记录的值,而不是整个表。这是因为mysql_fetch_assoc函数只能转换一行数组,如果要全表都读出来,可以用循环。
while循环每一次转换一行,直到转换所有行为止。
三。与HTML的结合及美化
继续以上面的例子解说,如果要输出名字和年龄.将HTML代码作为字符串输出。
1.混合html代码。第一种形式。在PHP里镶入HTML代码。
2.第二种形式,第HTML里镶入PHP代码。适合大段HTML,少量PHP代码。
3.美观地查看数组值
print_r是显示变量值的函数,可以显示数组,对象等复杂类型。而echo只能显示字符串,数字之类的简单型。但是print_r默认不分行的,显示得很难看,所以用html标记<pre>使其分行显示。