【php + MySQL + Android】php对数据库进行操作(1)

前言

自己要做一个Android App,涉及到服务器端的用户数据管理,而网络上的的资源往往是只讲一个方面。所以自己每完成一段工作,会将开发过程记录下来,并供大家参考,相关文章放在专栏

【php + MySQL + Android】

如果你遇到了什么问题,或者有好的建议欢迎在评论区留言大家一起交流。

-------------------------------------------------------------------------------------------------------------------------------- 

目录

前言

创建表,并写入一条数据

 创建php文件

PHP对数据库操作:

连接数据库:

 查询数据库

 给数据库中增加数据


 

创建表,并写入一条数据

首页=>数据库工具打开=>SQL_Front

如果出现登录界面: 

 

 用这里的用户名和密码登录即可。

进入后看到我们新建的数据库,点击进入。 

 

 右键=>新建=>表格

填写信息:填写表明和类型。

 

点击这里添加字段 

 

添加username字段: 

 

同样的操作,添加password字段 

 

 点击确定后查看我们建的表,如下所示:

 点击对应的字段,进行输入,创建我们的第一条数据。

 创建php文件

 双击物理路径,进入我们的站点根目录

然后创建一个文件夹,我这里创建一个test

 

用VScode打开该文件夹,新建一个test.php文件,你用其他编辑器也可以,记事本也可以。

为了测试我们在php文件中,加入以下代码:

<?php

echo "测试环境没问题";

?>

 在浏览器地址栏输入

localhost/test/test.php

如果是404Not Found参见另一篇文章:

本地站点突然出现404Not Found_勇敢di牛牛的博客-CSDN博客 

 接下来就可以写我们的代码了。

PHP对数据库操作:

连接数据库:

对数据库的操作有两种方式:MySQLi  && PDO

我是该用 MySQLi ,还是 PDO?

如果你需要一个简短的回答,即 "你习惯哪个就用哪个"。

MySQLi 和 PDO 有它们自己的优势:

PDO 应用在 12 种不同数据库中, MySQLi 只针对 MySQL 数据库。

所以,如果你的项目需要在多种数据库中切换,建议使用 PDO ,这样你只需要修改连接字符串和部分查询语句即可。 使用 MySQLi, 如果不同数据库,你需要重新编写所有代码,包括查询。

两者都是面向对象, 但 MySQLi 还提供了 API 接口。

两者都支持预处理语句。 预处理语句可以防止 SQL 注入,对于 web 项目的安全性是非常重要的。

因为我的数据库是MySQL所以我这里用的是mysqli:

<?php
header('content-type:text/html;charset=utf-8');
define('servername','localhost');//主机名
define('username', '1111');//连接数据库的用户名
define('password','123456');//连接数据库密码
define('dbname', '1111');//数据库名称
//echo "<br>" .username ."<br>". password ."<br>" .dbname ;
// 创建连接
$conn = new mysqli(servername, username, password, dbname);
// 检测连接
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}else{
    echo "连接成功";
}
?>

运行上面代码,其中的用户名,数据库名,数据库名,用户密码,都可以在小皮客户端查看(我这里用的是我们在上面创建的数据库);

*验证前一定记得ctrl + s 保存代码,以及浏览器刷新当前界面!!!!

 连接成功后会print  连接成功。

链接失败则会打印相应的错误。比如我将密码输错: 

看到这里如果你对语法有些看不懂的话建议阅读另一篇文章,或许对你有帮助:

【php + MySQL + Android】php学习中的关键问题整理(持续补充)_勇敢di牛牛的博客-CSDN博客 

 查询数据库

连接成功后我们就可以查询数据库中的数据了,

<?php
header('content-type:text/html;charset=utf-8');
define('servername','localhost');//主机名
define('username', '1111');//连接数据库的用户名
define('password','111111');//连接数据库密码
define('dbname', '1111');//数据库名称
//echo "<br>" .username ."<br>". password ."<br>" .dbname ;
// 创建连接
$conn = new mysqli(servername, username, password, dbname);
// 检测连接
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}else{
    echo "连接成功";
}

$sql = "SELECT * FROM `test` ";
$result = $conn->query($sql);
 
if ($result->num_rows > 0) {
    // 输出数据
    while($row = $result->fetch_assoc()) {
        echo "id: " . $row["id"]. " - username: " . $row["usernam"]. "password " . $row["password"]. "<br>";
    }
} else {
    echo "0 结果";
}
$conn->close();
?>

 

 这里的$sql = "SELECT * FROM `test` ";就是我们需要执行的SQL语句。这里的test是我们前面建表的表的名字。意思是在我们的表里面查找所有的内容。上面的这种写法是面向对象式的写法,新建了一个mysqli对象,$conn->query($sql)就是调用对象mysqli里的方法query。

这里我们假设的是结果有多条。也可以通过mysqli_fetch_assoc($result)只打印一条数据。

因为我们数据库里的数据如图所示,只有一条,所以这里只有一条数据。

 

 给数据库中增加数据

<?php
header('content-type:text/html;charset=utf-8');
define('servername','localhost');//主机名
define('username', '1111');//连接数据库的用户名
define('password','111111');//连接数据库密码
define('dbname', '1111');//数据库名称
//echo "<br>" .username ."<br>". password ."<br>" .dbname ;
// 创建连接
$conn = new mysqli(servername, username, password, dbname);
// 检测连接
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}

$sql="INSERT INTO `test`(`usernam`,`password` )values('迪丽热妈','123456789')";
if ($conn->query($sql) === TRUE) {
    echo "数据提交成功";
}else{
    die("提交失败: " . $conn->error);
}
$conn->close();
?>

 *注意我这里的username 少一个e,因为我的数据库中的字段名也少了一个e,这里要写你自己的字段名。

 我们刷新数据库,发现数据添加到了上面。

再次使用上面的代码进行查询:

 也是阔以查到滴!

删除和修改的方法,与上面一样,只需要修改,SQl语句即可。需要注意的是

die("提交失败: " . $conn->error);这如果你的SQL语句有问题,这句代码可以返回对应的报错,所以在每次操作后加入这行代码,有助于进行错误分析以及调试。

  • 12
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

勇敢di牛牛

你必飞黄腾达,耶稣也拦不住。

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

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

打赏作者

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

抵扣说明:

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

余额充值