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,后来,能正常启动了,但所 ...
随机推荐
- 网络协议学习(2)---IP地址
一.IPv4地址 IPv4地址为32bit地址,分为5类(ABCDE,这里不讨论特殊用途的D和E类). 通常我们八位一看,写成4个部分,例如:00000000 00000000 00000000 00 ...
- Atitit 最近资料文章列表r9 r8 月份 attilax总结
Atitit 最近资料文章列表r9 r8 月份 attilax总结 atitit tag标签标示规范 attilax总结 v2 r922.docx 2017-09-28 02:04 阅读(27) ...
- How do I learn machine learning?
https://www.quora.com/How-do-I-learn-machine-learning-1?redirected_qid=6578644 How Can I Learn X? ...
- NO.1 hadoop简介
第一次接触这个时候在网上查了很多讲解,以下很多只是来自网络. 1.Hadoop (1)Hadoop简介 Hadoop是一个分布式系统基础架构,由Apache基金会开发.用户可以在不了解分布式底层 ...
- centos7环境安装ElasticSearch
操作系统: Centos7 .64位 ========================================= 查看系统版本和系统位数: [root@localhost /]# cat /e ...
- 【NLP】MT中BLEU评分机制
参考博客:https://blog.csdn.net/guolindonggld/article/details/56966200 原著论文:http://www.aclweb.org/antholo ...
- ajax跨域,这应该是最全的解决方案了
前言 从刚接触前端开发起,跨域这个词就一直以很高的频率在身边重复出现,一直到现在,已经调试过N个跨域相关的问题了,16年时也整理过一篇相关文章,但是感觉还是差了点什么,于是现在重新梳理了一下. 个人见 ...
- HttpServletResponse实现文件下载
import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import ...
- java数值比较
import org.junit.Test; public class NumberCompare { /** * 数值比较,以Float为例 */ @Test public void testNam ...
- Nessus中文报告自动化脚本
前言 Nessus扫描完成,总要花挺多时间去整理报告,为此写了一个小脚本,用于自动化生成中文漏洞报告. 解析导出的html报告,自动翻译成中文,并提供修复建议,减少整理报告的时间,提升工作效率. gi ...