PHP连接并操作数据库

3 篇文章 0 订阅

PHP连接并操作数据库

一、环境准备

(如果有环境请直接跳过,阅读下面的操作)

在Linux中进行PHP和数据库的环境搭建(适用于CentOS-7.0版本或以上),以下操作全部是在root用户中操作,普通用户中记得命令前加入sudo进行提权后进行操作。

1、安装数据库

yum install -y mariadb-server
systemctl restart mariadb
systemctl enable mariadb

2、配置数据库

可以用这个手动设置密码,防止空密码登录

MariaDB [(none)]> use mysql;  
MariaDB [mysql]> UPDATE user SET password=password('newpassword') WHERE user='root';  
MariaDB [mysql]> flush privileges;   
MariaDB [mysql]> exit; 

如果觉得上面的有点麻烦,就用下面的这个方法,下面的方法不行就用上面的这个

mysql_secure_insatallation

第一步,程序询问你的数据库root密码,但是我们是初次配置,root密码并不存在,这里直接安一下回车就行

Enter current password for root (enter for none): 【这里直接回车】

第二步,程序询问是否需要设置root密码

Set root password? [Y/n] y【这里输入“y”】
New password: 【这里输入“数据库密码”】
Re-enter new password: 【这里输入“数据库密码”】

第三步,程序询问是否删除匿名用户(这里不删除的话会有安全问题)

Remove anonymous users? [Y/n] y【这里输入“y”】

第四步,程序询问是否禁用远程登陆root的权限

Disallow root login remotely? [Y/n] n【这里输入“n”】

第五步,程序询问是否移除“test”数据库

Remove test database and access to it? [Y/n] y【这里输入“y”】

最后,程序询问是否立即reload数据库并使配置生效

Reload privilege tables now? [Y/n] y【这里输入“y”】

看到Thanks for using MariaDB!即配置完毕,可正常使用。

3、安装PHP及插件

yum install -y php php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc

4、启动php(httpd)服务

systemctl restart httpd
systemctl enable httpd

5、进入网页根目录

cd /var/www/html/

二、数据库的连接

连接数据库(仅面向对象连接)

实现代码:

<?php
$servername="localhost";
$username="username";	# 这里写数据库用户
$password="password";	# 这里写数据库密码
$conn=new mysqli($servername,$username,$password);
if($conn->connect_error){
    die("连接失败:".$conn->connect_error);
}
else{
    echo "连接成功";
}
$conn->close();

运行结果:

三、对数据库的操作

创建数据库

实现代码:

<?php
$servername="localhost";
$username="username";
$password="password";
$conn=new mysqli($servername,$username,$password);
if($conn->connect_error){
    die("连接失败:".$conn->connect_error);
}
else{
    echo "连接成功";
}
$sql="create database mydb";	# 这里写创建数据库的语句
if ($conn->query($sql)===TRUE){
    echo "<br>数据库创建成功";
}else{
    echo "<br>创建失败:".$conn->error;
}

运行前检查:

运行结果:

运行后验证:

创建表单

实现代码:

<?php
$hostname="localhost";
$username="username";
$password="password";
$database="mydb";	# 自己创建的数据库名
$conn=new mysqli($hostname,$username,$password,$database);
  if($conn->connect_error)
   {
     die("数据库连接失败:".$conn->connect_error);
   }
  echo "数据库连接成功";
$sql1="CREATE TABLE MyGuests (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, 
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
email VARCHAR(50),
reg_date TIMESTAMP)";
if($conn->query($sql1)===TRUE){
    echo "<br>创建表成功!";
}else{
    echo "<br>创建表错误:".$conn->error;
}
$conn->close();

运行前检查:

运行结果:

运行后检验:

插入数据

代码实现:

<?php
$hostname="localhost";
$username="username";
$password="password";
$database="mydb";
$conn = mysqli_connect($servername, $username, $password, $dbname);
if (!$conn) {
    die("数据库连接成功: " . mysqli_connect_error());
}else {
    echo "数据库连接成功!";
}
$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('erhetest', 'grouptest', 'erhetest@group.com');";
if (mysqli_multi_query($conn, $sql)) {
    echo "<br>新记录插入成功";
} else {
    echo "<br>新记录插入失败: " . $sql . "<br>" . mysqli_error($conn);
}
mysqli_close($conn);

运行前检查:

运行结果:

运行后检验:

一次性插入多条数据

代码实现:

<?php
$hostname="localhost";
$username="username";
$password="password";
$database="mydb";
$conn = mysqli_connect($servername, $username, $password, $dbname);
if (!$conn) {
    die("数据库连接失败: " . mysqli_connect_error());
}else {
    echo "数据库连接成功!";
}
$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('erhe', 'group', 'erhe@group.com');";
$sql .= "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('erhe2', 'group2', 'erhe2@group2.com');";
$sql .= "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('welcome', 'to', 'welcome@erhe.group')";
if (mysqli_multi_query($conn, $sql)) {
    echo "<br>新记录插入成功";
} else {
    echo "<br>新记录插入失败: " . $sql . "<br>" . mysqli_error($conn);
}
mysqli_close($conn);

运行前检查:

运行结果:

运行后检验:

读取查询数据

实现代码:

<?php
$hostname="localhost";
$username="username";
$password="password";
$database="mydb";
 $conn=new mysqli($hostname,$username,$password,$database);
  if($conn->connect_error)
   {
     die("数据库连接失败:".$conn->connect_error);
   }
  echo "数据库连接成功";
$sql = "SELECT id, firstname, lastname,email FROM MyGuests";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // 输出数据
    while($row = $result->fetch_assoc()) {
       foreach($row as $keyname=>$keyvalue)
         {
            echo $keyname."=>".$keyvalue;
            echo "<br>";
         }
       //echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
    }
} else {
    echo "0 结果";
}
$conn->close();

运行前检查:

运行结果:

修改数据

代码实现:

<?php
$hostname="localhost";
$username="username";
$password="password";
$database="mydb";
 $conn=new mysqli($hostname,$username,$password,$database);
  if($conn->connect_error)
   {
     die("连接数据库失败:".$conn->connect_error);
   }
  echo "连接数据库成功";
$sql="UPDATE MyGuests SET email='shuaishuai@163.com' WHERE id=1";
if ($conn->query($sql) === TRUE) {
    echo "<br>修改成功";
} else {
    echo "<br>修改成功:" . $sql . "<br>" . $conn->error;
}
$conn->close();

运行前检查:

运行结果:

运行后检验:

删除数据

代码实现:

<?php
$hostname="localhost";
$username="username";
$password="password";
$database="mydb";
 $conn=new mysqli($hostname,$username,$password,$database);
  if($conn->connect_error)
   {
     die("连接数据库失败:".$conn->connect_error);
   }
  echo "连接数据库成功";
$sql="DELETE FROM MyGuests WHERE id='1'";
if ($conn->query($sql) === TRUE) {
    echo "<br>删除成功";
} else {
    echo "<br>删除失败:" . $sql . "<br>" . $conn->error;
}
$conn->close();

运行前检查:

运行结果:

运行后检验:

📣特别声明

原文地址: https://blog.kbai.cc/phpbysql/

此文章全部都是依靠自己的学习理解来写的原创文章,难免可能会出现有错误的地方,

如果大家以后阅读的时候发现有问题,那就麻烦到下方评论区来进行错误指出,使错误尽快做出改正,

在此,感谢大家的阅读与支持!🤝💦🎉

🍻支持一下

觉得我写的好的话可以支持一下我哦~持续关注我,会更新其他好玩且实用的项目。

👋如果我能帮助到你,那就请我喝杯🧋呗~👇👇👇

我的博客链接:blog.kbai.cc

  • 7
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: 首先,需要在 Onethink 应用的 `config` 目录下的 `database.php` 文件中配置 SQLite 数据库连接信息,示例配置如下: ```php return [ // 数据库类型 'type' => 'sqlite', // 数据库连接DSN配置 'dsn' => '', // 服务器地址 'hostname' => '', // 数据库名 'database' => '', // 数据库用户名 'username' => '', // 数据库密码 'password' => '', // 数据库连接端口 'hostport' => '', // 数据库连接参数 'params' => [], // 数据库编码默认采用utf8 'charset' => 'utf8', // 数据库表前缀 'prefix' => 'onethink_', // 数据库调试模式 'debug' => true, // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器) 'deploy' => 0, // 数据库读写是否分离 主从式有效 'rw_separate' => false, // 读写分离后 主服务器数量 'master_num' => 1, // 指定从服务器序号 'slave_no' => '', // 是否严格检查字段是否存在 'fields_strict' => true, // 数据集返回类型 'resultset_type' => '\\think\\paginator\\driver\\Bootstrap', // 自动写入时间戳字段 'auto_timestamp' => false, // 时间字段取出后的默认时间格式 'datetime_format' => 'Y-m-d H:i:s', // 是否需要进行SQL性能分析 'sql_explain' => false, ]; ``` 其中,需要将 `type` 配置为 `sqlite`,并且将 `database` 配置为 SQLite 数据库文件的路径。 接下来,在需要操作 SQLite 数据库的地方,可以使用 ThinkPHP 提供的 Query Builder 或者 ORM 进行操作。例如,使用 Query Builder 查询 `test` 表中的所有数据并返回结果集: ```php use think\facade\Db; $result = Db::table('test')->select(); ``` 需要注意的是,在使用 Query Builder 或者 ORM 操作 SQLite 数据库时,需要确保 SQLite 扩展已经安装并启用。 ### 回答2: Onethink是一个基于ThinkPHP开发的开源项目,用于构建内容管理系统(CMS)。它支持使用SQLite数据库作为后端数据库管理系统。 要在Onethink中连接操作SQLite数据库,需要进行以下步骤: 1. 首先,确保已经将SQLite数据库扩展引入到PHP环境中。可以在php.ini文件中找到以下行,并取消注释(去除前面的分号): ``` extension=sqlite3 ``` 2. 在Onethink的配置文件(位于Application/Common/Conf/config.php)中,需要进行一些配置。找到以下行,并进行相应的修改: ``` 'DB_TYPE' => 'sqlite', // 数据库类型 'DB_NAME' => './data/sqlite.db', // 数据库名(指定路径和名称) ``` 3. 确保SQLite数据库文件(sqlite.db)已经在指定的路径(./data/)下创建。如果没有创建,可以通过SQLite命令行工具或者其他SQLite工具创建一个新的数据库文件。 4. 在Onethink中,使用数据库操作类(位于ThinkPHP/Library/Think/Db/Driver目录下)进行数据库连接操作。可以使用以下代码示例来进行SQLite数据库连接和查询操作: ``` // 连接数据库 $db = new \Think\Db\Driver\Sqlite(); $db->connect(); // 查询数据 $result = $db->query('SELECT * FROM tablename'); // 处理查询结果 foreach ($result as $row) { // 操作数据,例如打印结果 print_r($row); } // 关闭数据库连接 $db->close(); ``` 以上就是使用Onethink连接操作SQLite数据库的基本步骤。可以根据项目的需求,自行编写相关的数据库操作代码。 ### 回答3: Onethink是一个开源的基于ThinkPHP框架的内容管理系统(CMS),我将用300字中文回答如何连接操作SQLite数据库。 首先,确保已经在服务器上安装了SQLite扩展。接下来,找到Onethink目录下的config文件夹,并打开database.php文件。在这个文件中,可以找到数据库连接的配置信息。 要连接SQLite数据库,首先需要设置'db_type'为'sqlite'。然后,将'db_name'设置为数据库文件的路径,包括文件名和扩展名。例如,如果数据库文件名为data.db,那么'db_name'的值应该为'./data.db'。 在数据库连接配置信息中,还可以设置'db_prefix'来定义数据表前缀,以及其他相关的配置信息。 在Onethink中,对数据库操作主要通过Model实现。可以在Model目录下创建一个与表对应的Model类,命名规则为"表名Model"。假设要连接名为"user"的表,可以在Model目录下创建一个名为UserModel的类。 在UserModel类中,可以定义与表结构相对应的属性,例如用户名、密码等。然后,可以通过继承基础Model类来实现对数据库操作,例如查询、插入、更新和删除等。 在具体的业务逻辑中,可以通过调用UserModel的方法来实现对SQLite数据库操作。例如,可以通过调用UserModel->add()来插入一条新的用户记录,或者通过调用UserModel->where('id', $id)->find()来查询指定id的用户信息。 通过以上步骤,就可以成功连接操作SQLite数据库。通过Onethink提供的Model类,可以方便地进行数据库操作,完成不同业务需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

开摆工作室

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值