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 ...
随机推荐
- Codeforces Round #723 (Div. 2) (A~C题题解)
补题链接:Here 1526A. Mean Inequality 给定 \(2 * n\) 个整数序列 \(a\),请按下列两个条件输出序列 \(b\) 序列是 \(a\) 序列的重排序 \(b_i ...
- vue tabBar导航栏设计实现4-再次抽取MainTabBar
系列导航 一.vue tabBar导航栏设计实现1-初步设计 二.vue tabBar导航栏设计实现2-抽取tab-bar 三.vue tabBar导航栏设计实现3-进一步抽取tab-item 四.v ...
- 《深入理解计算机系统》(CSAPP)读书笔记 —— 第七章 链接
链接( Clinking)是将各种代码和数据片段收集并组合成为一个单一文件的过程,这个文件可被加载(复制)到内存并执行.链接可以执行于编译时( compile time),也就是在源代码被翻译成机器代 ...
- Kubernetes 疑难杂症汇总
1. 部署报错:The requested fsGroup is 123, but the volume local-pv-c7ef339e has GID 1000710000. The volum ...
- 26-IP调用 - PLL
1.PLL IP核简介 PLL(Phaze Locked Loop)锁相环是最常用的IP核之一,其性能强大,可以对输入到FPGA的时钟信号进行任意的分频.倍频.相位调整.占空比调整,从而输出一个期望时 ...
- Go-方法-method
- [转帖]Oracle数据库中ITL详解
首先说明这篇文章是转载的,原文地址:http://blog.sina.com.cn/s/blog_616b428f0100lwvq.html 1.什么是ITL ITL(Interested Trans ...
- [转帖]PD Control 使用说明
https://docs.pingcap.com/zh/tidb/stable/pd-control PD Control 是 PD 的命令行工具,用于获取集群状态信息和调整集群. 安装方式 注意 ...
- [转帖]SpringBoot项目banner.txt生成教程
文章目录 近期在做毕业设计,后端框架用到了SpringBoot,可以自己个性化设置banner.txt 地址:https://www.bootschool.net/ascii 可以直接下载,然后直接将 ...
- [转帖]简单理解Linux的Memory Overcommit
https://zhuanlan.zhihu.com/p/551677956 Memory Overcommit的意思是操作系统承诺给进程的内存大小超过了实际可用的内存.一个保守的操作系统不会允许me ...