新手 php连接数据库大概。简单过程浅析以及遇到的问题分析
原文作者:aircraft
原文地址: https://www.cnblogs.com/DOMLX/p/8116845.html
重点:PHP运行在服务器上的请记住!!!
1.在连接数据库与PHP之前首先要检查一下自己PHP文件夹里的php.ini配置文件里是否有
;extension=php_mysqli.dll
有的话改成extension=php_mysqli.dll 如果已经是的话就不用改了
extension=php_mysql.dll 至于这个存在不存在都可以了 在几年前这个就被extension=php_mysqli.dll 给替代了 用了加强版的mysqli。
如果是用APACHE 或者XAMPP 的话 就去里面找到一个PHP 的文件夹其他一样,最后 在执行的时候 记住 打开数据库!!!
进入正题:第一步:
创建与MySQL数据库的连接
* mysqli_connect(host,username,passwd,dbname,port)
* host - MySQL数据库所在服务器的IP地址
* username - 登录MySQL数据库的用户名
* passwd - 登录MySQL数据库的密码
* dbname - 指定登录的数据库名称
* port - MySQL数据库的端口号
*
* 该方法的返回值 - 数据库连接对象
$conn = mysqli_connect('127.0.0.1','root','123456','testa','3306');
我写的是这样的 127.0.0.1其实就是代表默认自己本机的服务器IP地址 也可以写localhost 一样的意思 不过在LINUX 上的话可能会出错 要修改一些配置才能写localhost
root 自己数据库的用户名
123465 这是我的密码 你们可以写自己的 没有密码的第一次登录数据库 这里 可以为空 ‘ ’,不过要保留位置。
testa 这是我的数据库名字 MYSQL 登录进去后 我们可以创建很多个数据库 每个数据库都有自己名字 你们自己创建。
3306 这是我的数据库端口号 这个端口号 可以在自己数据库文件夹 的配置文件xxx.ini 里面找到 和修改 一般常用默认为3306.
第二步:
在自己数据库里面创建一个表 什么类型 多少个字段 之类的 自己把握
然后定义SQL语句 -字符串类型
$sql = "INSERT INTO myuser VALUES('1','JANE','12345')";
这里我是往 myuser 这个我创建好的表里插入一个数据 我表里面 只有 三个 一个ID NAME pwd
第三步:
发送SQL语句到MySQL数据库
* mysqli_query(link,query)
* *link - 表示MySQL数据库的连接对象
* *query - 表示发送的SQL语句
*
$bool = mysqli_query($conn,$sql);
//var_dump($bool);
执行完可以自己打印 var_dump($bool); 验证一下
该方法的返回值
* 如果执行成功
* INSERT|UPDATE|DELETE - true
* SELECT - mysqli_result对象
* 如果执行失败 - false
第二步我用的是插入一条数据 如果这里用的是SELECT 查询语句的话 通过mysqli_query()方法,返回mysqli_result结果集对象
*我们就可以解析mysqli_result结果集对象
最后一步:
mysql_close("$conn");
关闭与MySQL数据库的连接
mysqli_close(连接对象)
大概代码就是这样
<?php $conn = mysqli_connet('127.0.0.1','root','123456','testa','3306'); $sql = "INSERT INTO myuser VAULES('1','JANE',‘12345’)"; $result = mysqli_query($conn,$sql); mysql_close($conn);
?>
如果出现错误 请检查 自己的配置 或者标点符号 英文符号
上面这些是 过程化的连接数据库 .
在看面向对象的连接数据库
<?php
// 使用面向对象风格连接MySQL
/*
* 1. 创建mysqli或mysql对象
* $mysqli = new mysqli(host,username,passwd,dbname,port);
* * 相当于与MySQL数据库建立连接
*/
$mysqli = new mysqli('127.0.0.1','root','123456','testa','3306');
/*
* 2. 定义SQL语句
* 默认情况下的编码格式为ISO8859-1
* * 如何解决中文乱码问题
* mysqli_query("SET NAMES UTF8");
*/ $sql = "INSERT INTO myuser VALUES(NULL,'JANE','12345',55,'j@qq.com','beijing')"; //$mysqli->query("SET NAMES UTF8");
/*
* 3. 调用mysqli对象的query()方法
* $mysqli->query($sql)
* * 该方法返回执行结果
*/
$result = $mysqli->query($sql);
$mysqli->close();
?>
大家好我是飞机,是一个想成为全栈工程师的男人。
若有兴趣交流分享技术,可关注本人公众号,里面会不定期的分享各种编程教程,和共享源码,诸如研究分享关于c/c++,python,前端,后端,opencv,halcon,opengl,机器学习深度学习之类有关于基础编程,图像处理和机器视觉开发的知识

新手 php连接数据库大概。简单过程浅析以及遇到的问题分析的更多相关文章
- Android UI 绘制过程浅析(五)自定义View
前言 这已经是Android UI 绘制过程浅析系列文章的第五篇了,不出意外的话也是最后一篇.再次声明一下,这一系列文章,是我在拜读了csdn大牛郭霖的博客文章<带你一步步深入了解View> ...
- Linux入门——开机启动过程浅析
Linux开机启动过程浅析 Introduction 开机启动过程分为以下6个步骤,分别是BIOS, MBR, GRUB, Kernel, Init, RunLevel, RunDefinition ...
- Android应用程序安装过程浅析
我们知道在android中.安装应用是由PackageManager来管理的,可是我们发现PackageManager是一个抽象类.他的installPackage方法也没有详细的实现. 那在安装过程 ...
- Linux下简单C语言小程序的反汇编分析
韩洋原创作品转载请注明出处<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 写在开始,本文为因为参加MOO ...
- 20135202闫佳歆--week2 一个简单的时间片轮转多道程序内核代码及分析
一个简单的时间片轮转多道程序内核代码及分析 所用代码为课程配套git库中下载得到的. 一.进程的启动 /*出自mymain.c*/ /* start process 0 by task[0] */ p ...
- (转)浅析epoll – epoll例子以及分析
原文地址:http://www.cppfans.org/1419.html 浅析epoll – epoll例子以及分析 上篇我们讲到epoll的函数和性能.这一篇用用这些个函数,给出一个最简单的epo ...
- 用pytorch1.0搭建简单的神经网络:进行多分类分析
用pytorch1.0搭建简单的神经网络:进行多分类分析 import torch import torch.nn.functional as F # 包含激励函数 import matplotlib ...
- 🈲Eclipse通过jdbc连接数据库制作简单登陆界面【新手必看】
一.前言: 做网站开发,要求有多种搭配方式,前台技术可以使用PHP.ASP.JSP.ASP.NET.CGI等任何一种: 需要用到的基础语言用的最多的就是HTML/CSS.JS.JAVA.XML这些了, ...
- 【结果很简单,过程很艰辛】记阿里云Ons消息队列服务.NET接口填坑过程
Maybe 这个问题很简单,因为解决方法是非常简单,但填坑过程会把人逼疯,在阿里云ONS工作人员.同事和朋友的协助下,经过一天的调试和瞎捣鼓,终于解决了这个坑,把问题记下来,也许更多人在碰到类似问题的 ...
随机推荐
- Hackfive 使用TextSwitcher和ImageSwitcher实现平滑过渡
1. 应用场景: 通过向左和向右的导航按钮浏览日期列表 在日期选择空间中改变日期 倒计时始终 新闻刚要 2.用到的知识点是: TextSwitcher和ImageSwitcher Te ...
- jQuery之方法绑定(事件注册)代码小结
1.最直接的模式,直接将一个function对象传入方法函数,如下面的click(),好处坏处一看便知 $("#btnComfirmChooseCompany").click(fu ...
- 一条命令深度清理你的mac
一条命令深度清理你的mac mac 用了一段时间后很快发现硬盘空间不够了,就想找一些磁盘清理的工具,但是发现居然都是收费的. 就手工操作吧.方法其实非常简单. 就一条命令, cd / du -hd 5 ...
- unix网络编程 str_cli epoll 非阻塞版本
unix网络编程 str_cli epoll 非阻塞版本 unix网络编程str_cli使用epoll实现讲了使用epoll配合阻塞io来实现str_cli,这个版本是配合非阻塞io. 可以看到采用非 ...
- LOJ#10106. 「一本通 3.7 例 2」单词游戏
题目链接:https://loj.ac/problem/10106 题目描述 来自 ICPC CERC 1999/2000,有改动. 有 NNN 个盘子,每个盘子上写着一个仅由小写字母组成的英文单词. ...
- NSCache 缓存
前言 NSCache 是苹果提供的一个专门用来做缓存的类,当内存 "不足" 或超过限制的时候,会自动清理缓存,使用时可以指定缓存的数量和成本. 用法与 NSMutableDicti ...
- NSLocale 本地化信息
前言 NSLocale 类返回本地化信息,主要体现在"语言"和"区域格式"这两个设置项. 1.NSLocale 本地化信息的创建 // 用标示符创建 NSLoc ...
- 为什么不应该重写service方法?
故事通常是这样开始的: 从前,有一个程序猿,他语重心长地对孙子说:“孩子,要是你以后写servlet,最好不要重写service方法啊” 孙子大为不解,程序猿又说:“听爷爷的,准没错,爷爷的爷爷就 ...
- mysqldump备份以tmp_开头的表
需要备份warehouse这个DB下所有以tmp_开头的表名.直接说结论: mysqldump .sql.gz 其中:-Bse是为了将查询中的-----------------等分隔符给屏蔽了. gz ...
- SignalR-001
SignalR 是什么? ASP.NET Core SignalR 是一个开放源代码库,它简化了向应用添加实时 web 功能. 实时 web 功能立即使服务器端代码能够将内容推送到客户端. 一.有这么 ...