php 与mysql 数据库
新手上路,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\n", 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了。
实话说,这个我感觉是很简单的,但是在网上根本找不到完整的,我自己琢磨出来也是东拼西凑看来得,有用的用上,没有用的直接丢掉,换下一个有价值的。
php 与mysql 数据库的更多相关文章
- nodejs进阶(6)—连接MySQL数据库
1. 建库连库 连接MySQL数据库需要安装支持 npm install mysql 我们需要提前安装按mysql sever端 建一个数据库mydb1 mysql> CREATE DATABA ...
- 当忘记mysql数据库密码时如何进行修改
因为长时间没有使用数据库了,或者把密码改完之后就忘了数据库密码,不能正常进入数据库,也无法修改密码,有一个简单的常用修改密码方式: 1.首先找到和打开mysql.exe和mysqld.exe所在的文件 ...
- MySQL数据库和InnoDB存储引擎文件
参数文件 当MySQL示例启动时,数据库会先去读一个配置参数文件,用来寻找数据库的各种文件所在位置以及指定某些初始化参数,这些参数通常定义了某种内存结构有多大等.在默认情况下,MySQL实例会按照一定 ...
- 一起学微软Power BI系列-使用技巧(1)连接Oracle与Mysql数据库
说起Oracle数据库,以前没用过Oracle不知道,但是这1年用Oracle后,发现真的是想狂吐槽,特别是那个.NET驱动和链接字符串,特别奇葩.总归是和其他数据库不一样,标新立异,不知道为何.另外 ...
- CentOS下mysql数据库常用命令总结
mysql数据库使用总结 本文主要记录一些mysql日常使用的命令,供以后查询. 1.更改root密码 mysqladmin -uroot password 'yourpassword' 2.远程登陆 ...
- [原创]java使用JDBC向MySQL数据库批次插入10W条数据测试效率
使用JDBC连接MySQL数据库进行数据插入的时候,特别是大批量数据连续插入(100000),如何提高效率呢?在JDBC编程接口中Statement 有两个方法特别值得注意:通过使用addBatch( ...
- mysql数据库主从同步
环境: Mater: CentOS7.1 5.5.52-MariaDB 192.168.108.133 Slave: CentOS7.1 5.5.52-MariaDB 192.168. ...
- PDO连接mysql数据库
1.PDO简介 PDO(PHP Data Object) 是PHP 5 中加入的东西,是PHP 5新加入的一个重大功能,因为在PHP 5以前的php4/php3都是一堆的数据库扩展来跟各个数据库的连接 ...
- mysql数据库开发常见问题及优化
mysql 数据库是被广泛应用的关系型数据库,其体积小.支持多处理器.开源并免费的特性使其在 Internet 中小型网站中的使用率尤其高.在使用 mysql 的过程中不规范的 SQL 编写.非最优的 ...
- 如何在删除ibdata1和ib_logfile的情况下恢复MySQL数据库
昨天,有个朋友对公司内部使用的一个MySQL实例开启binlog,但是在启动的过程中失败了(他也没提,为何会失败),在启动失败后,他删除了ibdata1和ib_logfile,后来,能正常启动了,但所 ...
随机推荐
- OpenCV自带dnn的Example研究(3)— object_detection
这个博客系列,简单来说,今天我们就是要研究 https://docs.opencv.org/master/examples.html下的 6个文件,看看在最新的OpenCV中,它们是如何发挥作用的. ...
- 使用protobuf编译onnx.proto过程中的一些问题总结
使用git clone下载protobuf的源代码,然后git checkout到branch2.7.0: 编译protobuf,先在代码顶层目录执行./configure,然后执行make,成功后执 ...
- Java并发之线程转储
一.java线程转储 java的线程转储可以被定义为JVM中在某一个给定的时刻运行的所有线程的快照.一个线程转储可能包含一个单独的线程或者多个线程.在多线程环境中,比如J2EE应用服务器,将会有许多线 ...
- 【转载】Linux 命令行快捷键 - 移动光标
Linux 命令行快捷键 - 移动光标 涉及在linux命令行下进行快速移动光标.命令编辑.编辑后执行历史命令.Bang(!)命令.控制命令等.让basher更有效率. 常用 ctrl+左右键:在单词 ...
- [HDFS Manual] CH7 ViewFS Guide
ViewFS Guide ViewFS Guide 1 介绍 2. The Old World(Prior to Federation) 2.1单个Namenode Clusters 2.2 路径使用 ...
- idea当配置eclipse快捷键时,全局替换的快捷键是什么?
简介 每次为了新版本新建一个分支的时候,都要改每个maven的版本号,好麻烦,有么有?如下图: 当idea配置eclipse快捷键时,默认是没有全局替换快捷键的,需要设置 步骤 首先打开setti ...
- F3D模式规则详解
F3D有两个版本,长期版还有短期版 长期版规则 1.购买时候分配 第一队 20% to 奖金池, 56%分给所有人, 30% 持有p3d的人第二队 35% to 奖金池, 43%分给所有人, 8% 持 ...
- HTTP 02 HTTP1.1 协议
发送请求: 返回时, content-type 与 HTTP 正文之间有一个空格 HTTP 是不保存状态协议, 也就是说在 HTTP 这个级别, 协议对于发送过的请求或相应都不做持久化处理. 但是, ...
- Attacks for RL
1. http://rll.berkeley.edu/adversarial/ Adversarial Attacks on Neural Network Policies 就是对test时候的p ...
- Visual studio中编译和使用libpng和zlib
Visual studio中编译和使用libpng和zlib https://blog.csdn.net/jinzhuojun/article/details/7972747