通过PHP脚本建立与一个MySQL数据库的连接时,数据库服务器的主机位置(在本地就是localhost)、用户名(root)、密码、和数据库名是必须的。一旦建立连接,脚本就能执行SQL命令。二者联系的一系列步骤主要为四步:
1、用mysqli_connect()连接数据库;
2、组装SQL查询串,放入一个变量,该变量将作为下一步的必须参数;
3、用mysqli_query()执行查询,
4、用mysqli_close()关闭连接。
下面深入分析
一、 mysqli_connect():建立连接,语法
mysqli_connect(server,user,passwd,database_name);
该函数将位置,用户名,口令,数据库名处理为串,所以必须用引号引起,例如:
$dbc = mysqli_connect('localhost','root','password','aliendatabase');
调用该函数可以得到一个数据库连接,另外会得到一个PHP变量$dbc,这个变量与数据库交互。
注:1、PHP语句要用分号结束。
2、使用'localhost',是代表数据库服务器和Web服务器在同一个服务器计算机上。
3、如果省略第四个参数,会用mysqli_select_db()来指定数据库名;
4、如果连接失败,die()函数会终止PHP脚本,并提供失败代码的反馈,例如
$dbc = mysqli_connect('localhost','root','password','aliendatabase') or die('Error connecting to MySQL sever.');
如果连接未能创建就调用die()函数,反馈消息会输出到页面上,同时注意两个函数之间(即or前面)不需要分号,因为这是同一条语句的延续。
二、建立PHP串变量,它包含所要执行的SQL查询语句,比如增、删、建等,例如建立一个INSERT查询:
$query = "INSERT INTO aliens_abduction(first_name, last_name, ".
" when_it_happend, how_long, how_many, alien_description, ".
" what_they_did ,fang_spotted, other, email) ".
"VALUES ('Sally', 'Jones', '3 days ago', '1 day',’four‘, ".
" 'green with six tentacles', 'We just talked and palyed with a dog' , ".
" 'yes', 'I may have seen your dog .Contact me.', ".
" 'sa'
)";
代码说明:1. $query是一个PHP串变量,现包含一个INSERT查询;
2. 点号"."告诉PHP将这个串与下一行串联在一起;
3. 整个代码是PHP代码,必须以分号结束。
INSERT查询存储在一个串中之后,可以将它传递到mysqli_query()函数
注: 1、“查询”含义相当广义,可以指在数据库上完成的任何SQL命令,包括存储和获取数据;
2、PHP 中 SQL 查询语句使用双引号
3、在 SQL 查询语句中的字符串值必须加引号
4、数值的值不需要引号
5、NULL 值不需要引号
三、利用PHP查询MySQL数据库
mysqli_query()函数需要两个信息来完成查询:数据库连接(第一步)和SQL查询串(第二步),例如:
$result = mysqli_query($dbc,$query);
or die('Error querying database.');
$result 变量只是存储mysqli_query()执行的查询是否成功。
四、用mysqli_close()关闭连接,参数为一开始简历的数据库连接变量,例如:
mysqli_close($dbc);