PHP利用MySQLi函数连接数据库
PHP利用MySQLi函数连接数据库
一、连接数据库
- mysqli_connect
# 注意抑制符的使用 $link = @mysqli_connect('localhost','root','root2','test');
二、获取连接失败原因
- 错误号:mysqli_connect_errno
- 错误信息:mysqli_connect_error
if( mysqli_connect_errno() ){
var_dump(mysqli_connect_error());
}
三、选择操作的数据库
if(!mysqli_select_db($link,'wechat')){
var_dump(mysqli_errno($link).':'.mysqli_error($link));
}
四、选择字符集
if(!mysqli_set_charset($link,'utf-8')){
var_dump(mysqli_errno($link).':'.mysqli_error($link));
}
五、准备要执行的SQL语句
$sql = "SELECT * FROM `jk_message` ORDER BY id DESC";
注意:mysqli_real_escape_string(link,param);
六、执行SQL语句
$result = mysqli_query($link,$sql);
七、处理执行结果
- mysqli_num_rows 返回查询结果记录数
- mysqli_affected_rows 返回操作(增删改)影响的行数
- mysqli_fetch_row 获取一条数据的索引数组
- mysqli_fetch_assoc 获取一条数据的关联数组
- mysqli_insert_id() 获取新增记录的id
while ($rows = mysqli_fetch_assoc($result)){
var_dump($rows);
}
八、释放资源、关闭连接
- 释放资源:mysqli_free_result
- 关闭连接:mysqli_close
mysqli_free_result($result);
mysqli_close($link);
配置文件
define('DB_HOST','127.0.0.1'); //主机..
define('DB_USER','root'); //管理员
define('DB_PWD','jack123456'); //密码
define('DB_PREFIX','ps_'); //定义前缀常量..
define('DB_NAME','panshinet'); //这里我们先这么定义..注意这里是库名
define('DB_CHARSET','utf8'); //定义字符集..
实例:
//连接数据库
$link=@mysqli_connect("localhost","root","root","jkdb");
if(!$link){
//写入错误日志
$logs=date("Y-m-d H:i:s").mysqli_connect_error().PHP_EOL;
file_put_contents("mysql.err",$logs,FILE_APPEND);
}
//设置字符集
if(!mysqli_set_charset($link,"utf8")){
$logs=date("Y-m-d H:i:s")."设置字符集失败".PHP_EOL;
file_put_contents("mysql.err",$logs,FILE_APPEND);
}
//查询
$sql="select money from user where username='张无忌'";
$res=mysqli_query($link,$sql);
$money=mysqli_fetch_assoc($res)["money"];
var_dump($money);
//关闭数据库
mysqli_free_result($res);
mysqli_close($link);
PHP利用MySQLi函数连接数据库的更多相关文章
- mysqli函数库的使用
综述 1.什么是mysqli PHP-MySQL 函数库是 PHP 操作 MySQL 资料库最原始的扩展库,PHP-MySQLi 的 i 代表 Improvement ,相当于前者的增强版,也包含了相 ...
- 利用JavaScript函数对字符串进行加密
加密.解密问题对我来说一直是很神秘的,感到神奇无比. 理论了解 前段时间看到关于利用JavaScript函数unescape()和escape()对字符串进行替换处理.通过查资料得知, escape( ...
- 【编程题目】请修改 append 函数,利用这个函数实现两个非降序链表的并集
42.请修改 append 函数,利用这个函数实现(链表):两个非降序链表的并集,1->2->3 和 2->3->5 并为 1->2->3->5另外只能输出结 ...
- PHP获取毫秒时间戳,利用microtime()函数
PHP获取毫秒时间戳,利用microtime()函数 php本身没有提供返回毫秒数的函数,但提供了一个microtime()函数,借助此函数,可以很容易定义一个返回毫秒数的函数.php的毫秒是没有默认 ...
- PHP利用socket_bind函数切换IP地址采集数据
在利用PHP进行数据采集的过程中,通常会遇到IP被屏蔽或出现验证码的情况:为了能够继续采集,我们需要切换不同的ip,每访问一次,随机切换一个IP.当然也可以通过收集大量代理,通过切换代理的方式进行采集 ...
- 黑马程序员——利用swap函数研究C的指针
------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 设计3个函数,分别实现已下功能: 交换两个整数 交换两个整形指针 交换任意两个同类型的变量 #i ...
- 利用Format函数格式化时间和日期
在做机房收费系统的时候,因为需要使用到日期进行查询,所以在数据表中没有使用自动添加日期的功能,而是采用了自定义的格式插入.但由于事先没有对时间转换的格式进行统一,导致后面查询时出现的问题不断. 插入时 ...
- (转)Java程序利用main函数中args参数实现参数的传递
Java程序利用main函数中args参数实现参数的传递 1.运行Java程序的同时,可以通过输入参数给main函数中的接收参数数组args[],供程序内部使用!即当你在Java命令行后面带上参数,J ...
- 利用freopen()函数和fc命令简化程序调试
大家在参加ACM比赛或者参加c/c++实验技能竞赛的时候,如果遇到大量的输入和大量的输出时,调试起来很不方便.一来如果结果不正确的话,需要重复输入大量数据:二来如果大量输出的话,得仔细检查输出结果与正 ...
- 利用copy函数简单快速输出/保存vector向量容器中的数据
如果要输出vector中的数据我们可以通过循环语句输出,更加简便的方法是利用copy函数直接输出,例子: #include "stdafx.h" #include <iost ...
随机推荐
- 2019年第十届蓝桥杯国赛C++C组
蓝桥杯历年国赛真题汇总:Here 统一声明 如果不写默认带有常用头文件 如果不表明主函数默认表示在 void solve(){} 默认使用 using namespace std; ios::sync ...
- 【营】在开局,提升【豹】发力 - vivo活动插件管理平台
一.背景 随着vivo悟空活动中台活动组件越来越多,活动中台开发的小伙伴们愈发的感知到我们缺少一个可以沉淀通用能力,提升代码复用性的组件库.在这个目标基础之上诞生了acitivity-componen ...
- vue权限管理
https://www.bilibili.com/video/BV1nq4y1i7BU/?spm_id_from=333.788.recommend_more_video.6&vd_sourc ...
- centos7使用nginx+uwsgi部署python django项目
在django框架中,我们一般直接通过python manage.py runserver来启动提供服务,但是如果生产环境此方法不可行,而且容易导致异常退出,于是需要借助uwsgi来作为守护进程. 操 ...
- 基于AHB_BUS的eFlash控制器的架构设计
eFlash控制器的架构设计 1.架构设计思路分析 1.1 含有的模块分析 eFlash控制器是一个基于AHB的slave,所以需要一个AHB_slave_if处理AHB的信号.AHB_slave_i ...
- [粘贴]Introducing Exadata X9M: Dramatically Faster, More Cost Effective, and Easier to Use
https://blogs.oracle.com/exadata/post/exadata-x9m The Exadata Product Management and Development t ...
- 使用Grafana + jmx 监控 kafka3.5 的过程
使用Grafana + jmx 监控 kafka3.5 的过程 摘要 周五一边进行数据库监控, 同时想着部署一套监控系统. 能够监控一下kafka等中间件 结果不想自己遇到了很多坑. 下午有同事语音告 ...
- Oracle Rac 的简单学习
Oracle Rac 的简单学习 Oracle RAC的概念 Oracle RAC (Real Application Clusters) 是 Oracle 数据库管理系统的一个功能, 它允许将数据库 ...
- [转帖]记druid 连接池没满,但超时问题 GetConnectionTimeoutException active 5, maxActive 100
记druid 连接池没满,但超时问题 GetConnectionTimeoutException active 5, maxActive 100 问题说明 线上服务突然出现报错,通过日志查找发现是因为 ...
- [转帖]Nginx优化与防盗链
目录 一.配置Nginx隐藏版本号 1.第一种方法修改配置文件 2.第二种方法修改源码文件,重新编译安装 二.修改Nginx用户与组 三.配置Nginx网页缓存时间 四.实现Nginx的日志分割 五. ...