新手上路,php刚学,数据库刚学,花了两天终于读到数据库的数据了。
一路上的坎坷我在这里吐槽吐槽:
<?php $mysql_server_name='localhost'; //改成自己的mysql数据库服务器 $mysql_username='root'; //改成自己的mysql数据库用户名 $mysql_password='root'; $mysql_database='cai'; //改成自己的mysql数据库名 $con = mysqli_connect($mysql_server_name,$mysql_username,$mysql_password,$mysql_database); if (!$con) { die("数据库服务器连接失败"); } else{ echo '数据库连接成功'; } //@mysqli_select_db("blnms", $con); /* 选择mysql服务器里的一个数据库,假设你的数据库名为 a*/ mysqli_select_db($con,$mysql_database); //打开数据库 $sql = "SELECT * from usertext"; /* 定义变量sql, "SELECT * FROM qq" 是SQL指令,表示选取表qq中的数据 */ $result = mysqli_query($con,$sql); //执行SQL语句,获得结果集 if (!$result) { printf("Error: %s ", mysqli_error($result)); exit(); } while($row = mysqli_fetch_array($result)) { $id = $row['id']; $user = $row['user']; $passsord = $row['passsord']; echo "<div style="height:24px; line-height:24px; font-weight:bold;">"; //排版代码 echo $id; echo $user; echo $passsord; echo "</div>"; //排版代码 } ?>
上面是全部代码。本地服务器root 密码 root 本地数据库 cai(数据库名字)。
之前在网上找了很多用php连接数据库的案例,不过没有一个在我这里是可以实现的。
其中有个很大原因是 mysql 函数在php中被删除了,就是用php写代码时已经不能用mysql这个函数了
https://zhidao.baidu.com/question/362455686449631572.html
这个链接解释了这个。以后都要用mysqli来代替mysql。 用法上会有点出入,怎么用还是得去百度查找,
$mysql_server_name='localhost'; //改成自己的mysql数据库服务器 $mysql_username='root'; //改成自己的mysql数据库用户名 $mysql_password='root'; //改成自己的mysql数据库密码
$mysql_database='cai'; //改成自己的mysql数据库名
$con = mysqli_connect($mysql_server_name,$mysql_username,$mysql_password,$mysql_database);
//连接数据库 mysqli_connect(‘服务器名字’,‘数据库用户名’,‘数据库密码’,‘数据库名字’)
这里的话要改也只有 数据库的名字是自己创建的,其他的话一般都是这样不变的,如果要改也是可以的,这里过多介绍。
连接之后,还是需要看看有没有连接成功对吧,下面就是 php 写的一个判断语句
if (!$con) { echo("数据库服务器连接失败"); } else{ echo '数据库连接成功'; }
成功连接之后,就要开始读取数据库的数据了,
首先要打开数据库, 然后是一句sql 语句
mysqli_select_db($con,$mysql_database); //打开数据库
$sql = "SELECT * from usertext"; //select*from 是选择数据表 usertext是数据表的名字
这里是获取结果
$result = mysqli_query($con,$sql); //执行SQL语句,获得结果集
mysqli_query 查询数据库的数据,两个参数必须的,一个是连接数据库,另一个是sql 语句 ,这里也就是($con,$sql)。
这个结果返回的一个布尔类型,true 或者是false 。
接下来又是我遇到的一个大坑,很多网上都是
while($row = mysql_fetch_array($result)) { echo "<div style="height:24px; line-height:24px; font-weight:bold;">"; //排版代码 echo $row['Topic'] . "<br/>"; echo "</div>"; //排版代码 }
这样,突然就出现一个 $row['Topic'] ,哪来的呢,不知道,有什么用呢不知道,
不过在这里应该能猜到这个是用来放数据库里的数据 然后在 echo出来,对,这想法肯定没错,但是这功能实现不了啊
我这里是这样处理的
while($row = mysqli_fetch_array($result)) { $id = $row['id']; $user = $row['user']; $passsord = $row['passsord']; echo "<div style="height:24px; line-height:24px; font-weight:bold;">"; //排版代码 echo $id; echo $user; echo $passsord; echo "</div>"; //排版代码 }
先是用一个变量把数据库里的数据保存下来,在是将这些数据用echo 输出。
$id = $row['id'];
$user = $row['user'];
$passsord = $row['passsord'];
$row['id'];中的id是数据表中 id的字段名 $row['user'];中的user是数据表中 user的字段名
$row['passsord'];中的passsord是数据表中 passsord的字段名
接下来是插入数据到数据库,这里的数据呢我直接不用变量,用常量表示了
$sql = "insert into usertext(id,user,passsord) values ('6','两节课','66')"; $a =mysqli_query($con,$sql);//借SQL语句插入数据 if($a){ echo '插入成功'; } else{ echo '插入失败'; }
$sql = "insert into usertext(id,user,passsord) values ('6','两节课','66')";
sql的语法 insert into 是插入的意思,usertext是数据表的表名,括号中的参数是数据表中的个个字段名,与后面的values值 一一对应,
做项目的时候呢就可以直接把values值括号里的换成从前台传过来的变量就ok了。
实话说,这个我感觉是很简单的,但是在网上根本找不到完整的,我自己琢磨出来也是东拼西凑看来得,有用的用上,没有用的直接丢掉,换下一个有价值的。