php中调用mysql中的数据库连接_用php连接数据库,并执行数据库操作

1,建立与数据库之间的连接 (能通过php代码执行一个SQL语句得到查询的结果)

mysqli_connect('127.0.0.1' , 'root' , 123456','demo01');

这里要注意两个问题:

①mysqli 是一个额外的扩展,如果想要使用这个扩展提供的函数,必须开启扩展 extension_dir

在php 的配置文件里解除注释 extension=php mysqli.dll (这里特别提醒,修改php的配置文件之后可以 用 phpinfo()函数看看php的文档中有没有成功解除前面的注释添加 mysqli 这个扩展)

2,判断是否连接成功

$connection=mysqli_connect('127.0.0.1' , 'root' , '123456' , 'demo01');if(!$connection){

exit ('连接数据库失败');

}

3,基于刚刚创建的连接对象执行一次查询操作

$connection=mysqli_connect('127.0.0.1' , 'root' , '123456' , 'demo01');if(!$connection){

exit ('连接数据库失败');

}

$query=mysqli_query($connection , 'select * from users;');

var_dump($query);

得到的是一个查询对象

8cbc9264cfd782c8e27075a27782aaae.png

4,这个查询对象可以用来再到数据库中一行一行拿数据

$connection=mysqli_connect('127.0.0.1', 'root', '123456', 'demo01');if(!$connection){

exit('

连接数据库失败

');

}

$query=mysqli_query($connection,'select * from users');

$row=mysqli_fetch_assoc($query);

var_dump($row);

7474ae2705efe553e8571dfbc1fbb289.png

但是只能拿到一行数据,需要多写几次这段代码才能提取出全部数据,故而涉及到循环

5,循环遍历拿数据

$connection=mysqli_connect('127.0.0.1', 'root', '123456', 'demo01');if(!$connection){

exit('

连接数据库失败

');

}

$query=mysqli_query($connection,'select * from users');

$row=mysqli_fetch_assoc($query);

while($row){

var_dump($row);

$row=mysqli_fetch_assoc($query);

}

var_dump($row);

6, 模仿 js 中的 判断,优化循环语句

$connection=mysqli_connect('127.0.0.1', 'root', '123456', 'demo01');if(!$connection){

exit('

连接数据库失败

');

}

$query=mysqli_query($connection,'select * from users');while ($row=mysqli_fetch_assoc($query)) {

var_dump($row);

}

84daa38b8711fcec493acc2534ebc595.png

7,判断查询失败提示 以及 释放查询结果集、炸桥(关闭连接)

$connection= mysqli_connect('127.0.0.1' , 'root' , '123456' , 'demo01');if(!$connection){

exit ('连接数据库失败');

}

$query=mysqli_query($connection , 'select * from users') ;

if(!$query){

exit('查询失败');

}//遍历结果集

while($row =mysqli_fetch_assoc($query)) {

var_dump($row);

}//释放查询结果集

mysqli_free_result($query);//炸桥、关闭连接

mysqli_close($connection);

8,增删改数据的查询语句

$connection=mysqli_connect('127.0.0.1', 'root', '123456', 'demo01');

if(!$connection){

exit('

连接数据库失败

');

}

$query = mysqli_query($connection,'delete from users where id=3;'); //基于刚刚创建的连接对象执行一次查询操作

if(!$query){

exit('查询失败');

}

//如何拿到受影响行

$rowsAccepted = mysqli_affected_rows($connection); //传入的一定是连接对象

var_dump($rowsAccepted);

mysqli_close($connection); //炸桥,关闭连接

9,PHP中查询数据的编码问题

$connection=mysqli_connect('127.0.0.1' , 'root' , '123456' , 'demo01');

mysqli_set_charset($connection,' utf8 '); //必须在查询对象之前,必须传入连接对象和编码

//或是 mysqli_query($connection, 'set names utf8;');

if(!connection){

exit('连接数据库失败');

}

$query=mysqli_query($connection, 'select*from users');if(!query){

exit('查询失败');

}while($row=mysqli_fetch_assor($query)){

var_dump($row);

}

mysqli_free_result($query);

mysqli_close($connection);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Docker使用PHPMySQL,我们需要使用两个容器:一个用于PHP,另一个用于MySQL。 我们可以使用docker-compose来管理这两个容器并设置它们之间的连接。 以下是一个简单的docker-compose.yml文件,其包含PHPMySQL容器的配置: ``` version: '3.7' services: db: image: mysql:5.7 restart: always environment: MYSQL_DATABASE: 'my_database' MYSQL_USER: 'my_user' MYSQL_PASSWORD: 'my_password' MYSQL_ROOT_PASSWORD: 'my_root_password' ports: - '3306:3306' volumes: - database_data:/var/lib/mysql php: build: . ports: - "8080:80" volumes: - ./src:/var/www/html depends_on: - db volumes: database_data: ``` 其,我们定义了一个名为“db”的MySQL容器,并将其端口映射到主机的3306端口。我们还定义了一个名为“php”的PHP容器,并将其端口映射到主机的8080端口。这个容器依赖于“db”容器。 在PHP代码,我们可以使用以下代码来连接到MySQL数据库: ``` $servername = "db"; $username = "my_user"; $password = "my_password"; $dbname = "my_database"; // Create connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } echo "Connected successfully"; ``` 在这个例子,我们使用“db”作为MySQL服务器的主机名,这是我们在docker-compose.yml文件定义的MySQL容器的名称。我们还使用了在docker-compose.yml文件定义的用户名,密码和数据库名称。 希望这可以帮助您开始使用Docker和PHP连接MySQL数据库

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值