新手 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工作人员.同事和朋友的协助下,经过一天的调试和瞎捣鼓,终于解决了这个坑,把问题记下来,也许更多人在碰到类似问题的 ...
随机推荐
- 国外物联网平台(5):Exosite Murano
国外物联网平台(5)——Exosite Murano 马智 定位 Murano是一个基于云的IoT软件平台,提供安全.可扩展的基础设施,支持端到端的生态系统,帮助客户安全.可扩展地开发.部署和管理应用 ...
- Oracle动态执行表不可访问
在scott 用户下,执行查询语句是出现"Oracle动态执行表不可访问" 经查,是因为用户权限不够所致,修改scott用户权限语句如下: grant select on V_$s ...
- MariaDB 一些SQL语句的执行
通过拼接的TAG_NAME字符串获取对应的TAG_ID字符串 形如: '丹药|练功流|轻松|学生|学院风' 查询结果:'10|35|36|40' SELECT GROUP_CONCAT(TAG_ID ...
- rsync 备份服务搭建(完成)
rsync服务守护进程 服务器端配置过程: 1. 检查rsync是否安装: rpm -qa rsync 2.添加rsync服务的用户,管理本地目录 useradd-s /sbin/nologin -M ...
- Promise超时情况
export const ERROR_PROMISE_TIMEOUT = 'ERROR_PROMISE_TIMEOUT'; export default function (promise, time ...
- 多线程《五》GIL全局解释器锁
一 引子 定义: In CPython, the global interpreter lock, or GIL, is a mutex that prevents multiple native t ...
- rtabmap and rtabmap_ros make error(rtabmap编译错误)
Build from source following README.nd in rtabmap_ros rtabmap make error Error 1 make[2]: *** No rule ...
- php代码审计6审计xss漏洞
跨站脚本攻击(Cross Site Scripting)是指攻击者利用网站程序对用户输入过滤不足,输入可以显示在页面上对其他用户造成影响的html代码,从而盗取用户资料,利用用户身份进行某种动作或者对 ...
- Java的引用和C++的指针de区别
Java的引用和C++的指针都是指向一块内存地址的,通过引用或指针来完成对内存数据的操作,就好像风筝的线轴一样,通过线轴总是能够找到风筝,但是它们在实现,原理作用等方面却有区别. (1)类型:引用其值 ...
- python学习之路---day26
网络的基本知识点 一:网络通信原理 连接两台计算机之间的Internet之间的协议一系列协议为互联网协议 互联网协议的功能是:定义计算机如何接入Internet,以及Internet的计算机通信标准 ...