新手 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 反射需要引用 using System.Reflection; 命名空间. 通过 Assembly 类的 Load( ); 加载指定的 程序集 Assembly 是不能被实例化 ...
- logback-记录日志
一:根节点<configuration>包含的属性: scan: 当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true. scanPeriod: 设置监测配 ...
- Microsoft.Office.Interop.Word.DocumentClass.SaveAs 命令失败
asp.net 常用的生成word功能,代码也是网上常见的,自己本地反复测试过没问题.serves 2003下运行没问题,可是发布到2008上就出错.组件权限已配置,windows目录下temp权限已 ...
- C# HTML转EXCEL的方法
private void ToExcel(string html) { Response.ContentType = "application/force-download"; R ...
- [转载] C++ namespaces 使用
原地址:http://blog.sina.com.cn/s/blog_986c99d601010hiv.html 命名空间(namespace)是一种描述逻辑分组的机制,可以将按某些标准在逻辑上属于同 ...
- linux centos 宝塔主机控制面板安装和安全狗安装过程记录
linux 宝塔控制面板 安装过程yum install -y wget && wget -O install.sh http://103.224.251.79:5880/instal ...
- JavaWeb应用中初始化Log4j的两种方式
本文主要介绍了普通JavaWeb应用(基于Tomcat)中初始化Log4j的两种方式: 1.通过增加 InitServlet ,设置令其自启动来初始化 Log4j . 2.通过监听器 ServletC ...
- Unity---简单单例模式的使用
单例模式特点 1.一般用在一个脚本访问另一个脚本中的数据. 2.对于使用单例模式的类,系统中只会存在唯一一个实例,减少了内存开销. Unity中继承于MonoBehaviour的单例模式 public ...
- 19.阻止事件冒泡e.stopPropagation();
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- AF 与 PF区别
AF 表示ADDRESS FAMILY 地址族 PF 表示PROTOCL FAMILY 协议族 Winsock2.h中#define AF_INET 0#define PF_INET AF_INET ...