新手 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工作人员.同事和朋友的协助下,经过一天的调试和瞎捣鼓,终于解决了这个坑,把问题记下来,也许更多人在碰到类似问题的 ...
随机推荐
- .net Reflection(反射)- 二
反射 Reflection 中访问方法 新建一个ClassLibrary类库: public class Student { public string Name { get; set; } publ ...
- ecliplse导入tomcat
上面点击之后,弹出的窗口最大化: 导入成功之后如下图:
- Mybatis中的多表查询 多对一,一对多
示例:用户和账户 一个用户可以有多个账户 一个账户只能属于一个用户(多个账户也可以属于同一个用户) 步骤: 1.建立两张表:用户表,账户表 让用户表和账户表之间具备一对多的关系:需要使用外键在账户表中 ...
- 文件参数化-utp框架之根据yaml文件自动生成python文件+utp运行用例
根据yaml文件自动生成python文件 utp框架: bin目录:存放执行文件(run.py) cases目录:存放生成的用例的python文件(该目录下的文件为根据data目录下的测试用例生成的p ...
- 关于DataGridView的ClearSelection方法
最近做winform项目,遇到一个问题. 纠结了几天,最终解决了,记录一下! 新建一个Form窗体,拽一个DataGridView上去,然后写一个方法 private void BindData() ...
- 【BZOJ3622】已经没什么好害怕的了 容斥原理+dp
Description Input Output Sample Input 4 2 5 35 15 45 40 20 10 30 Sample Output 4 HINT 输入的2*n个数字保证全不相 ...
- [Swift]八大排序算法(六):希尔排序
排序分为内部排序和外部排序. 内部排序:是指待排序列完全存放在内存中所进行的排序过程,适合不太大的元素序列. 外部排序:指的是大文件的排序,即待排序的记录存储在外存储器上,待排序的文件无法一次装入内存 ...
- Python实现——二次多项式回归(最小二乘法)
2019/3/25 真的,当那个图像出现的时候,我真的感觉太美了. 或许是一路上以来自我的摸索加深的我对于这个模型的感受吧. 二次函数拟合--最小二乘法公式法 与线性回归相似,对二次函数进行拟合某种意 ...
- Reviewing notes 1.1 of Advanced algebra
♦Linear map Definition Linear map A linear map from vector space V to W over a field F is a function ...
- SDUT OJ 数组计算机(线段树)
学长推荐了这个博客详细的介绍了线段树的建立.查找.更新: 数组计算机 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Prob ...