PHP学习笔记4-php的MYSQL数据库访问

04-PHP的MYSQL数据库访问

1. PHPMYSQL支持配置

2. PHPMYSQL的连接

3. PHP库的创建
4. PHP表的创建

5. PHP数据插入、删除、更新6. PHP数据查询
7. PHP数据库连接封装

一:PHP MYSQL 支持配置

1、检测PHP 数据库支持

page1image4352 page1image4512 page1image4672 page1image4832

<?php
$conn= mysqli_connect("127.0.0.1:3306","root","");

//mysql端口如果没有修改,可以不指定端口
//$conn = mysqli_connect("127.0.0.1","root","");echo"<pre>";
print_r(
$conn);
echo"</pre>";


通过修改php.ini 文件 添加数据库连接支持

page1image7160 page1image7320 page1image7480 page1image7640

二:PHP MYSQL 的连接
1、在PHP 连接数据库时 可以使用mysql_connect()函数 ,也可以使用mysqli_connect()函数;

2、mysql_connect()是PHP5版本之前使用的,该方法每次连接数据库都会创建一个新的连接,且该方法不支持MYSQL 的高级函数;

3、mysqli_connect()使用连接缓存技术,第一连接是会创建新的mysql连接,后面同级连接将使用上次建立的连接,不会再创建一个新的连接;

4、mysqli_connect()因使用连接缓存技术,所以相对效率较高,且支持mysql的高级用法;

<?php

//未修改mysql软件端口时 可以不写端口$servername="127.0.0.1";$username="root";
$password="";

//创建连接
$conn= mysqli_connect($servername,$username,$password);

//检测连接if(!$conn) {

//php中对于错误处理使用die(msg)函数
//该函数执行完成后 会直接 退出当前脚本,后续代码不会继续运行//mysqli_connect_error()PHP数据库连接时的错误信息获取函数die("连接失败: ". mysqli_connect_error());

}
echo"连接成功";

三:PHP MYSQL 库的创建
1、mysqli_close($conn); 用于关闭数据库连接,参数 $conn 是数据库连接参数

<?php
$servername="127.0.0.1";$username="root";$password="";

$conn= mysqli_connect($servername,$username,$password);if(!$conn) {

die("连接失败: ". mysqli_connect_error());}

//创建数据库
$sql="create database student";

//mysqli_query($conn, $sql)为数据库的操作方法
//第一个参数为数据库连接对象
//第二参数用于指定sql语句
//该方法有返回值 返回类型为boolean true表示返回成功false表示失败$falg= mysqli_query($conn,$sql);

if($falg) {
echo"数据库创建成功";

} else{
//mysqli_error(connection)函数返回最近调用函数的最后一个错误描述。//需要当前 数据库连接的对象做为参数

echo"创建数据库成功: ". mysqli_error($conn);}

//数据库访问完成后,因及时关闭连接mysqli_close($conn);

四:PHP MYSQL 表的创建

1、在mysql数据库中创建表,需要首先选择库。

<?php
$servername="127.0.0.1";$username="root";$password="";

$conn= mysqli_connect($servername,$username,$password);if(!$conn) {

die("连接失败: ". mysqli_connect_error());}

page2image14480 page2image14640 page2image14800 page2image14960 page2image15120 page2image15280 page2image15440 page2image15600 page2image15760 page2image15920 page2image16080 page2image16240 page2image16400 page2image16560 page2image16720 page2image16880 page2image17040 page2image17200 page2image17360 page2image17520

$sql="use student;";
$falg1= mysqli_query($conn,$sql);if($falg1){

//使用sql创建数据表
$sql= "create table student (

id int auto_increment primary key,name varchar(30),
nikename varchar(30)

);";
if(mysqli_query($conn,$sql)) {

echo"数据表student创建成功";}else{

echo"创建数据表错误: ". mysqli_error($conn);}

}else{
echo"切换数据库失败: ". mysqli_error($conn);

}mysqli_close($conn);

2、在mysqli_connect() 方法中提供第四个参数,该参数可以设置库名

<?php
$servername="127.0.0.1";$username="root";$password="";
$dbname= "student";

$conn= mysqli_connect($servername,$username,$password,$dbname);if(!$conn) {

die("连接失败: ". mysqli_connect_error());}

$sql= "create table student2 (
id int auto_increment primary key,name varchar(30),
nikename varchar(30)

);";
if(mysqli_query($conn,$sql)) {

echo"数据表student2创建成功";}else{

echo"创建数据表错误: ". mysqli_error($conn);}

mysqli_close($conn);

五:PHP MYSQL 数据的插入、删除和更新

1、数据插入

<?php
$servername="127.0.0.1";$username="root";$password="";
$dbname= "student";

//创建连接
$conn= mysqli_connect($servername,$username,$password,$dbname);//检测连接
if(!$conn) {

die("Connection failed: ". mysqli_connect_error());}

$sql= "insert into student(name, nikeName)

values
(
'John','Doe')";

if(mysqli_query($conn,$sql)) {echo"新记录插入成功";

} else{

page3image15744 page3image15904 page3image16064 page3image16224 page3image16384 page3image16544 page3image16704 page3image16864 page3image17024 page3image17184 page3image17344 page3image17504 page3image17664 page3image17824 page3image17984 page3image18144

echo"数据插入失败,执行sql: ". $sql."<br>". mysqli_error($conn);}

mysqli_close($conn);

2、数据删除

<?php
$servername="127.0.0.1";$username="root";$password="";
$dbname= "student";

//创建连接
$conn= mysqli_connect($servername,$username,$password,$dbname);//检测连接
if(!$conn) {

die("Connection failed: ". mysqli_connect_error());}

$id= 2;
$sql= "delete from student where id = $id";

if(mysqli_query($conn,$sql)) {echo"数据删除成功";

} else{
echo"数据删除失败,执行sql: ". $sql."<br>". mysqli_error($conn);

}mysqli_close($conn);

3、数据更新

<?php
$servername="127.0.0.1";$username="root";$password="";
$dbname= "student";

//创建连接
$conn= mysqli_connect($servername,$username,$password,$dbname);//检测连接
if(!$conn) {

die("Connection failed: ". mysqli_connect_error());}

$nikeName="哈哈";
$id= 1;
$sql= "update student set nikeName = '$nikeName' where id = $id";

if(mysqli_query($conn,$sql)) {echo"数据更新成功";

} else{
echo"数据更新失败,执行sql: ". $sql."<br>". mysqli_error($conn);

}mysqli_close($conn);

六:PHP MYSQL 数据查询

<?php
$servername= "127.0.0.1";$username= "root";$password= "";
$dbname= "student";

//创建连接
$conn= mysqli_connect($servername,$username,$password,$dbname);//检测连接
if(!$conn) {

page4image14768 page4image14928 page4image15088 page4image15248 page4image15408 page4image15568 page4image15728 page4image15888 page4image16048 page4image16208 page4image16368 page4image16528 page4image16688 page4image16848 page4image17008 page4image17168 page4image17328 page4image17488 page4image17648 page4image17808 page4image17968 page4image18128 page4image18288 page4image18448

die("数据库连接失败: " . mysqli_connect_error());}

$sql= "select id,name,nikeName from student1";$result= mysqli_query($conn,$sql);

echo"<pre>";print_r($result);echo"</pre>";

// $result为对象 在该对象中 存在属性num_rows为当前查询结果的返回值if($result->num_rows>0){

//mysqli_fetch_array()方法将查询的结果以行的形式进行循环返回,
//返回的结果为一个数组,可以通过指定返回类型选择返回索引数组还是关联数组
// MYSQLI_ASSOC返回关联数组MYSQLI_NUM返回索引数组MYSQLI_BOTH返回两者//当行循环过程中没有更多的行 返回null

while($row= mysqli_fetch_array($result)){echo$row['id'] . " ". $row['name'];echo"<br />";

}}else{

echo"查无数据";}

//释放结果集mysqli_free_result($result);mysqli_close($conn);

七:PHP MYSQL 连接面向过程的简单封装

1、简单工具脚本

<?php
define(
"HOST","127.0.0.1");define("USERNAME","root");define("PASSWORD","");define("DBNAME","stutest");define("MYSQL_CHARSET","utf8");

$conn= mysqli_connect("127.0.0.1","root","","stutest");

if(!$conn) {
die("数据库连接失败: ". mysqli_connect_error());

}

//设置数据库返回值 和php脚本一致mysqli_query($conn,"set names '".MYSQL_CHARSET."'");

2、调用工具脚本

<?php

//通过includerequire语句,可以将PHP文件的内容插入另一个PHP文件//该操作是在服务其执行之前进行

//如果指定文件丢失
//使用include只生成警告(E_WARNING),并且脚本会继续//include "util/dbUtil.php";

//使用require会生成致命错误(E_COMPILE_ERROR)并停止脚本require"util/dbUtil.php";
echo"string";

$sql= "select * from dept";

$result= mysqli_query($conn,$sql);

if($result->num_rows>0){
while($row= mysqli_fetch_array($result,MYSQLI_BOTH)) {

echo"<pre>";print_r($row);echo"</pre>";

}}else{

echo"查无数据";}

page5image15664 page5image15824 page5image15984 page5image16144 page5image16304 page5image16464 page5image16624 page5image16784 page5image16944 page5image17104 page5image17264 page5image17424 page5image17584 page5image17744 page5image17904 page5image18064 page5image18224 page5image18384 page5image18544 page5image18704

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值