PHP和数据库基础知识

2018-10-30  本文已影响0人  巴山哥

PHP 大小写敏感

在 PHP 中,所有用户定义的函数、类和关键词(例如 if、else、echo 等等)都对大小写不敏感。不过在 PHP 中,所有变量都对大小写敏感

在下面的例子中,所有这三条 echo 语句都是合法的(等价):

在下面的例子中,只有第一条语句会显示 $color 变量的值(这是因为 $color、$COLOR 以及 $coLOR 被视作三个不同的变量):

PHP 变量规则:

变量以 $ 符号开头,其后是变量的名称

变量名称必须以字母或下划线开头,不能以数字开头

变量名称只能包含字母数字字符和下划线(A-z、0-9 以及 _)

变量名称对大小写敏感($y 与 $Y 是两个不同的变量)

PHP 是一门类型松散的语言

PHP 没有创建变量的命令,变量会在首次为其赋值时被创建,PHP 根据它的值,自动把变量转换为正确的数据类型。

PHP static 关键词

通常,当函数完成/执行后,会删除所有变量。不过,有时我需要不删除某个局部变量。要实现这一点需要,请在首次声明变量时使用 static 关键词:

运行结果:0,1,2,3,4

每当函数被调用时,这个变量所存储的信息都是函数最后一次被调用时所包含的信息。

注释:该变量仍然是函数的局部变量。

PHP 数组

在 PHP 中,有三种类型的数组:

数值数组 - 带有数字 ID 键的数组

关联数组 - 带有指定的键的数组,每个键关联一个值

多维数组 - 包含一个或多个数组的数组

PHP 数值数组

这里有两种创建数值数组的方法:

自动分配 ID 键(ID 键总是从 0 开始):   

$cars=array("Volvo","BMW","Toyota");

人工分配 ID 键:   

$cars[0]="Volvo";

$cars[1]="BMW";

$cars[2]="Toyota";

PHP 关联数组

关联数组是使用您分配给数组的指定键的数组。

这里有两种创建关联数组的方法:   

$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");

或者:   

$age['Peter']="35";

$age['Ben']="37";

$age['Joe']="43";

PHP count() 函数

遍历关联数组

遍历并打印关联数组中的所有值,您可以使用 foreach 循环,如下所示:

foreach 语法结构提供了遍历数组的简单方式,有两种语法:

第一种格式遍历给定的 array_expression 数组。每次循环中,当前单元的值被赋给 $value 并且数组内部的指针自动向前移一步(因此下一次循环中将会得到下一个单元)。

第二种格式做同样的事,只除了当前单元的键名也会在每次循环中被赋给变量 $key。

PHP exit() 函数

exit() 函数输出一条消息,并退出当前脚本。

该函数是 die() 函数的别名。

php中使用pdo访问sqlite3

1.PDO简介 

PDO是 PHP Date Object (PHP数据对象)的简称,它是与 PHP5.1版本一起发行的,在 PHP 6 中默认使用PDO连接数据库,所有非 PDO扩展将会在 PHP 6中被移除,该扩展提供PHP内置类 PDO来对数据库进行访问,不同数据库使用相同的方法名,从而解决数据库连接不统一的问题。

在 Windows 环境下,如果要想其支持某个具体的数据库,那么还要记载对应的数据库选项,比如,要支持 sqlite 数据库,则还需要加载“extension=php_pdo_sqlite.dll”选项。

从php5 >=5.3.0 的时候开始默认支持sqlite3,可用phpinfo()进行检查确认

2.PDO构造函数连接数据库

在PDO中,要建立数据库的连接需要实例化 PDO 的构造函数,PDO构造函数的语法格式如下:

_construct(string $dsn[,string $username[,string $password[,array $driver_options]]])

其中:

dsn:数据源名称,包括主机名端口号和数据库名称。

username:连接数据库的用户名。

password:连接数据库的密码。

driver_options:连接数据库的其它选项。

用实例讲解,通过PDO连接 MySQL 数据库,具体代码如下:

3.DSN详解

DSN是Data Source Name(数据源名称)的首字母缩写。DSN提供连接数据库需要的信息。PDO的DSN包括3部分:PDO驱动名称(如:mysql、sqlite或者pgsql)、冒号和驱动特定的语法。每种数据库都有其特定的驱动语法。

在使用不同的数据库时,必须明确数据库服务器是完全独立与 PHP 的,是实体。但是在实际的情况可能是数据库服务器与 Web服务器不在同一台计算上,此时需要通过PDO连接数据库时,就修改DSN中的主机名称。

由于数据库服务器只是特定的端口上监听连接请求。每种数据库服务器具有一个默认的端口号(MySQL 是3306),但是数据库管理员可以对端口号进行修改,因此有可能 PHP找不到数据库的端口号,此时就可以在 DSN中包含端口号。比如:

$dsn="mysql:host=127.0.0.1;port=3310;dbname=admin";

由于一个数据库中可能同时拥有多个数据库,所以通过DSN连接数据库时,通常都包括数据库名称,这样可以

确保连接的是用户想要的数据库,而不是其他的数据库了!

4.PDO中执行SQL语句的三种方法

可以使用三种方式来执行SQL语句,分别是 exec()方法,query方法,以及预处理语句prepare()和execute()方法~

4.1exec()方法

返回执行SQL 语句后受影响的行数,其语法格式如下:

int PDO::exec(string statement)

参数 satatement 是要执行的SQL语句,该方法返回执行SQL 语句时受影响的行数,通常用于 INSERT,DELETE和UPDATE语句中。用具体代码讲解如下:

4.2query()方法

返回执行查询后的结果集,该函数的语法格式如下:

PDOStatement PDO::query(string statement)

参数 satatement 是要执行的 SQL语句,它返回的是一个PODStatement对象!具体请看下面示例代码:

注意:

a、query和exec都可以执行所有的sql语句,只是返回值不同而已。

b、query可以实现所有exec的功能。

c、当把select语句应用到 exec 时,总是返回 0

d、如果要看查询的具体结果,可以通过foreach语句完成循环输出

4.3预处理语句:prepare()语句和execute()语句

预处理语句包括prepare()和execute()两种方法。首先,通过prepare()方法做查询准备工作,然后通过execute()方法执行查询,并且还可以通过bindParam()方法来绑定参数给execute()方法,语法如下:

PDOStatement PDO::prepare(string statement[,array driver_options])

bool PDOStatement::execute([array input_parameters])

4.4PDO中获取结果集之fetch()方法详解

fetch()方法获取结果集中的下一行数据,该函数的具体语法格式如下:

mixed PDOStatement::fetch ([ int $fetch_style [, int $cursor_orientation = PDO::FETCH_ORI_NEXT [, int $cursor_offset = 0 ]]] )

参数 fetch_style:控制结果集的返回方式,其中可选择的值如下表:

参数 cursor_orientation:PDOStatement对象的一个滚动游标,可以获取指定的一行。

参数 cursor_offset:游标的偏移量。

下面实例通过 fetch()方法获取结果集中下一行的数据,用 while 语句完成数据库中数据的循环输出,步骤如下:

学习参考PHP中文网

上一篇下一篇

猜你喜欢

热点阅读