PHP连接数据库实验

  • 格式:doc
  • 大小:51.00 KB
  • 文档页数:7

下载文档原格式

  / 7
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验项目:数据库技术及其应用

实验类型:设计

实验课时:4

实验目的:研究数据库技术及其应用

实验方案:

1 下载安装配置PHP集成安装包

安装最新的Visual C++运行库。从

/phpstudy/phpStudy2017.zip 下载phpStudy2017。解压缩后安装。选择最新的PHP版本。设置web服务器根文件夹。修改MySQL 用户名和密码。

2 研究通过mysqli访问数据库

创建一个php文件,内容如下。分析页面的输出。

$db =mysqli_connect('localhost', 'root', 'root','mysql')or die("连接数据库失败");

if(!mysqli_query($db,"DROP DATABASE IF EXISTS a"))die("删除数据库失败");

if(!mysqli_query($db,"CREATE DATABASE IF NOT EXISTS a"))die("创建数据库失败");

if(!mysqli_select_db($db, "a"))die("选择数据库失败");

if(!mysqli_query($db,"DROP TABLE IF EXISTS user"))die("删除表失败");

$sql="CREATE TABLE IF NOT EXISTS user(

id SERIAL,

un VARCHAR(50) NOT NULL UNIQUE,

pw VARCHAR(50) NOT NULL DEFAULT 123456,

rt INT(3) UNSIGNED NOT NULL DEFAULT 0

)";

if(!mysqli_query($db,$sql))die("创建表失败");

if(!$result =mysqli_query($db,"INSERT user(un) VALUES('u1'),('u2'),('张三')"))die("插入记录失败");

echo("插入记录数:".mysqli_affected_rows($db).'
');

if(!$result=mysqli_query($db,"SELECT * FROM user"))die("查询失败");

echo("查询结果行数:".mysqli_num_rows($result).'
');

echo("查询结果列数:".mysqli_num_fields($result).'
');

echo("查询结果:
");

while($field=mysqli_fetch_field($result))echo("$field->name\t");//字段名

while($row=mysqli_fetch_row($result)){

echo "
";

foreach($row as $col)echo("$col\t");//行

}

mysqli_free_result($result);//释放查询结果

mysqli_close($db);//关闭数据库连接

?>

首先连接数据库,如果连接失败,页面弹出连接数据库失败,然后删除数据库a,如果删除失败,页面弹出删除数据库失败,接着重新创建数据库a,如果创建失败,页面弹出创建失败,然后选择a作为默认数据库,如果失败则弹出选择数据库失败,接着删除数据库a中的user表,如果删除失败则弹出删除表失败,接着在数据库a中创建数据表user,创建失败则弹出创建表失败,user表中包含四个字段:ID,un,pw,rt,然后在user的un字段下插入u1,u2,张三三个元素,插入失败则弹出插入记录失败,然后输出3,表示输出了创建的记录数,然后查询user中的所有数据,查询失败则弹出查询失败,然后页面输出了3和4,输出了表的行和列,然后将数据赋给$field,在输出查询出来的字段名,以表格形式输出数据库中的数据。

3 研究通过PDO访问mysql数据库

创建一个php文件,内容如下。分析页面的输出。

$dsn = 'mysql:dbname=mysql;host=127.0.0.1';

$user = 'root';

$password = 'root';

try {

$pdo = new PDO($dsn, $user, $password);

$pdo->exec("DROP DATABASE IF EXISTS a");//删除数据库

$pdo->exec("CREATE DATABASE IF NOT EXISTS a");//创建数据库

$pdo->exec("USE a");//选择数据库;

$pdo->exec("DROP TABLE IF EXISTS user");//删除表

$sql="CREATE TABLE IF NOT EXISTS user(

id SERIAL,

un VARCHAR(50) NOT NULL UNIQUE,

pw VARCHAR(50) NOT NULL DEFAULT 123456,

rt INT(3) UNSIGNED NOT NULL DEFAULT 0

)";

$pdo->exec($sql);//创建表

$row =$pdo->exec("INSERT user(un) VALUES('u1'),('u2'),('张三')");//插入记录

echo("插入记录数:".$row.'
');

$PDOStatement=$pdo->query("SELECT * FROM user");//查询

echo("查询结果行数:".$PDOStatement->rowCount().'
');

echo("查询结果列数:".$PDOStatement->columnCount().'
');

echo("查询结果:
");

$f=0;

while($row=$PDOStatement->fetch()){