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,后来,能正常启动了,但所 ...
随机推荐
- python 奇偶拆分list,python拆分list,得到一个原来list的奇数list,一个原来list的偶数list
需求:现在有一个list ,range_data = ['m', 'M', 'h', 'c', 'X', 'Z', 'A', 'o'] 希望得到两个list, 一个是奇数list =['m', 'h ...
- Linux下通过 rm -f 删除大量文件时报错:Argument list too long
Linux下通过 rm -f 删除大量的小文件时出现类似如下错误信息: -bash: /bin/rm: Argument list too long 如下图所示: 问题原因 如果待删除文件中包含的小 ...
- 用.NET开发的磁力搜索引擎——btbook.net
UPDATE:目前项目已停止维护,本文仅留作纪念. 去年10月份开始研究相关的协议与资料,中途乱七八糟的事情差点没坚持下来,寒假里修修补补上礼拜把Btbook发布了,经过社交网络的推广之后,上线第三天 ...
- Asp.Net Nuget常用命令
1.安装 Install-Package EntityFramework //ef Install-Package EntityFramework.zh-Hans //ef中文
- python多线程应用——DB2数据库备份
前言:DB2一个实例下,可以存在多个数据库,之前使用shell备份脚本,但是同一时刻只能备份一个数据库,对于几百G的备份文件,这个速度显然太慢,今天学习了Python多线程,刚好应用一下. 分析:1. ...
- 大数据架构:搭建CDH5.5.1分布式集群环境
yum install -y ntp gcc make lrzsz wget vim sysstat.x86_64 xinetd screen expect rsync bind-utils ioto ...
- 数据仓库:Mysql大量数据快速导出
背景 写这篇文章主要是介绍一下我做数据仓库ETL同步的过程中遇到的一些有意思的内容和提升程序运行效率的过程. 关系型数据库: 项目初期:游戏的运营数据比较轻量,相关的运营数据是通过Java后台程序聚合 ...
- 通过inotify实现反调试
1.inotify linux下inotify可以实现监控文件系统事件(打开,读写删除等),inotify最常见的api有以下几个: inotify_init:用于创建一个 inotify 实例的系统 ...
- Google API Design Guide (谷歌API设计指南)中文版
面向资源的设计 这份设计指南的目标是帮助开发人员设计简单.一致.易用的网络API.同时,它也有助于收敛基于socket的API和(注:原文是with,这里翻译为“和”)基于HTTP的REST API. ...
- 关于Kafka区分请求处理优先级的讨论
所有的讨论都是基于KIP-291展开的.抱歉,这又是一篇没有图的文字. 目前Kafka broker对所有发过来的请求都是一视同仁的,不会区别对待.不管是用于生产消费的PRODUCE和FETCH请求, ...