谷歌外贸网站建站,石景山老山网站建设,搭建网站实时访问地图,0wordpress文章目录 一、MySQL简介二、MySQLi函数1. 开启mysqli扩展#xff1a;2. PHP MySQLi扩展的常用函数 三、PHP与MySQL交互0. 准备1. 创建连接#xff08;mysqli_connect() #xff09;连接mysql语法 2. 选择数据库#xff08;mysqli_select_db()#xff09;3. 在php中操作数据… 文章目录 一、MySQL简介二、MySQLi函数1. 开启mysqli扩展2. PHP MySQLi扩展的常用函数 三、PHP与MySQL交互0. 准备1. 创建连接mysqli_connect() 连接mysql语法 2. 选择数据库mysqli_select_db()3. 在php中操作数据库执行语句1. 读取.sql文件2. 操作数据库 4. 连接例子 四、扩展知识mysqli不能使用localhost的解决办法 一、MySQL简介
MySQL是由瑞典MySQL AB公司先后被Sun和Oracle公司收购开发的关系型数据库管理系统支持UNIXLinuxmacOS和Windows等平台上使用。MySQL数据库的默认端口号为3306。
优点体积小速度快使用更加方便快捷且开源。
特点
跨平台性可靠性适用性开源免费
注意mysql数据库操作时为了避免用户自定义的数据库名称、字段名称或数据表名称与系统命令冲突最好使用反引号包裹这些名称。
二、MySQLi函数
PHP作为一门编程语言本身并不具备操作数据库的功能。所以若想要在项目开发中完成PHP应用和MySQL数据库之间交互就需要借助PHP提供的数据库扩展。PHP提供了许多数据库扩展比较常用的有MySQL扩展、MySQLi扩展和PHP数据对象PHP Data Objects, PDO扩展。而PHP MySQLiPHP MySQL Improved可以连接MySQL数据库服务器。
注MySQLi 扩展被设计用于 MySQL 4.1.13 版本或更新的版本。
在使用 MySQLi 函数之前必须打开 MySQLi 扩展。
1. 开启mysqli扩展 检查php的ext文件夹下面看是否有php_mysqli.dll文件 打开php安装目录下的配置文件php.ini 找到mysqli扩展 ;extensionmysqli.dll将分号删掉并保存 重启apache服务器即可。
2. PHP MySQLi扩展的常用函数
函数描述mysqli_connect()连接MySQL服务器mysqli_connect_error()获取连接服务器时的错误信息mysqli_select_db()选择数据库mysqli_set_charset()设置客户端字符集mysqli_query()执行SQL语句写操作返回true或false读操作返回结果集对象mysqli_insert_id()获取上一次插入操作时产生的IDmysqli_affected_rows()获取上一次操作时受影响的行数mysqli_errno()返回上一个MySQL操作中的错误信息的错误码mysqli_error()返回上一个MySQL操作中的错误信息mysqli_close()关闭数据库连接
三、PHP与MySQL交互
PHP 通过内置函数库 mysqli 进行 MySQL 数据库编程的步骤如下
建立与 MySQL 数据服务器的连接使用 mysqli_connect() 函数选择要进行操作的数据库使用 mysqli_select_db() 函数执行数据库的操作如数据的添加删除等使用 mysqli_query() 函数关闭与 MySQL 数据库服务器进行的连接使用 mysqli_close() 函数
0. 准备
前提apache、mysql、php安装好了且配置成功。或者直接使用集成环境WampServer
开启mysqli扩展 检查php的ext文件夹下面看是否有php_mysqli.dll文件 打开php安装目录下的配置文件php.ini 找到mysqli扩展 ;extensionmysqli.dll将分号删掉并保存 重启apache服务器
1. 创建连接mysqli_connect()
连接mysql语法
PHP 可以通过 mysqli 接口来连接 MySQL 数据库服务器。mysqli 接口提供了mysqli_connect函数进行连接。语法格式如下
$con mysqli_connect(host_name, user_name, password, mysqldb_name, port); // 连接mysql数据库隐藏错误 die() 条件显示 mysqli_connect_error() 获取连接数据库的错误信息 mysqli_connect_errno() 获取连接数据库的错误编码 mysqli_set_charset(连接对象字符编码) 说明 host_name主机名或者主机的 IP 地址本章中默认的主机名为“localhost3306”。user_name用于登录 MySQL 服务器的用户名默认值为 root。pass_word用户登录口令默认值为空。mysqldb_name数据库名port端口号如果端口号是3306可省略
上述语句通过 mysqli_connect函数连接 MySQL 数据库服务器并把此连接生成的对象传递给名为$con 的变量。在默认情况下 MySQL 服务器的端口号为 3306如果采用默认端口号则可以不指定。如果采用了其他端口号则要特别指出如 localhsot3307。
mysqli_connect( )若成功执行则返回一个资源句柄型连接标识号否者返回逻辑值 FALSE。mysqli_connect( )函数将返回值存放在一个变量中在其他地方直接引用该变量即可。
2. 选择数据库mysqli_select_db()
语法格式
mysqli_select_db(数据库服务器连接对象, 数据库名)如
mysqli_select_db($conn, book)数据库服务器连接对象或连资源句柄型用于指定相应的与 MySQL 数据库服务器相连的连接标识号数据库名为指定需要连接的数据库名称。
3. 在php中操作数据库执行语句
1. 读取.sql文件
使用PHP的file_get_contents函数读取要导入的 .sql文件并将其保存在变量中。
?php
sql_file database.sql; //.sql文件路径sql_content file_get_contents($sql_file); //读取.sql文件中的内容
?
2. 操作数据库
执行语句模板为
$变量名 mysql执行语句;
mysqli_query($连接名, $变量名);举例
$sql create database test;
mysqli_query($conn, $sql); // 数据库执行上面语句4. 连接例子
例1
?php$connmysqli_connect(localhost,wrong_user,my_password,my_db);// 检查连接if (!$conn){die(连接错误: . mysqli_connect_error());}
?
例2
?phpheader(Content-Type: text/html; charsetutf-8); // 避免中文乱码echo 你好;echo br;$conn mysqli_connect(localhost:3306, root, );var_dump($conn);echo br;if(!mysqli_select_db($conn, book)){ // 如果连接“book”库失败echo 连接失败-_-.mysqli_connect_error(); // 显示连接失败信息exit;}else{echo 连接成功; // 显示连接成功}
?浏览器输出结果: 数据放在mysql安装目录下的data目录下。
四、扩展知识
mysqli不能使用localhost的解决办法
使用mysqli_connect()连接时当主机填写为localhost时MySQL会采用 unix domain socket连接当主机填写为127.0.0.1时MySQL会采用TCP/IP的方式连接。使用Unix socket的连接比TCP/IP的连接更加快速与安全。这是MySQL连接的特性可以参考MySQL官方文档4.2.4 Connecting to the MySQL Server Using Command Options
On Unix, MySQL programs treat the host name localhost specially, in a way that is likely different from what you expect compared to other network-based programs:the client connects using a Unix socket file.
To ensure that the client makes a TCP/IP connection to the local server, use --host or -h to specify a host name value of 127.0.0.1 (instead of localhost), or the IP address or name of the local server. You can also specify the transport protocol explicitly, even for localhost, by using the --protocolTCP option.解决办法
将mysqli_connect()里的localhost后面加上端口号如我用的是3307端口因为我下载了两个mysql数据库服务器写成mysqli_connect(‘localhost:3307’, ‘root’, ‘root’) 使用TCP/IP代替Unix socket。即在连接的时候将localhost换成127.0.0.1。修改MySQL的配置文件my.cnf指定mysql.socket的位置
/var/lib/mysql/mysql.sock (你的mysql.socket路径)。直接在php建立连接的时候指定my.socket的位置官方文档mysqli_connect。比如
$db new MySQLi(localhost, root, root, my_db, 3306, /var/run/mysqld/mysqld.sock) 文章转载自: http://www.morning.gbgdm.cn.gov.cn.gbgdm.cn http://www.morning.ykkrg.cn.gov.cn.ykkrg.cn http://www.morning.c7500.cn.gov.cn.c7500.cn http://www.morning.zlhcw.cn.gov.cn.zlhcw.cn http://www.morning.rlqwz.cn.gov.cn.rlqwz.cn http://www.morning.fzqfb.cn.gov.cn.fzqfb.cn http://www.morning.nsyzm.cn.gov.cn.nsyzm.cn http://www.morning.pdgqf.cn.gov.cn.pdgqf.cn http://www.morning.ghfmd.cn.gov.cn.ghfmd.cn http://www.morning.rfldz.cn.gov.cn.rfldz.cn http://www.morning.glcgy.cn.gov.cn.glcgy.cn http://www.morning.bqts.cn.gov.cn.bqts.cn http://www.morning.juju8.cn.gov.cn.juju8.cn http://www.morning.ryzgp.cn.gov.cn.ryzgp.cn http://www.morning.qcwck.cn.gov.cn.qcwck.cn http://www.morning.pmghz.cn.gov.cn.pmghz.cn http://www.morning.xcdph.cn.gov.cn.xcdph.cn http://www.morning.jpjpb.cn.gov.cn.jpjpb.cn http://www.morning.lbrrn.cn.gov.cn.lbrrn.cn http://www.morning.dgxrz.cn.gov.cn.dgxrz.cn http://www.morning.xlpdm.cn.gov.cn.xlpdm.cn http://www.morning.qqnh.cn.gov.cn.qqnh.cn http://www.morning.lqqqh.cn.gov.cn.lqqqh.cn http://www.morning.dnzyx.cn.gov.cn.dnzyx.cn http://www.morning.nzmw.cn.gov.cn.nzmw.cn http://www.morning.rtzd.cn.gov.cn.rtzd.cn http://www.morning.hqmfn.cn.gov.cn.hqmfn.cn http://www.morning.kllzy.com.gov.cn.kllzy.com http://www.morning.ppdr.cn.gov.cn.ppdr.cn http://www.morning.hrzymy.com.gov.cn.hrzymy.com http://www.morning.jzlfq.cn.gov.cn.jzlfq.cn http://www.morning.zwhtr.cn.gov.cn.zwhtr.cn http://www.morning.lmknf.cn.gov.cn.lmknf.cn http://www.morning.dzdtj.cn.gov.cn.dzdtj.cn http://www.morning.mnrqq.cn.gov.cn.mnrqq.cn http://www.morning.lfpdc.cn.gov.cn.lfpdc.cn http://www.morning.zfyr.cn.gov.cn.zfyr.cn http://www.morning.jjnql.cn.gov.cn.jjnql.cn http://www.morning.zpjhh.cn.gov.cn.zpjhh.cn http://www.morning.tbplf.cn.gov.cn.tbplf.cn http://www.morning.qnzld.cn.gov.cn.qnzld.cn http://www.morning.kjsft.cn.gov.cn.kjsft.cn http://www.morning.wqmyh.cn.gov.cn.wqmyh.cn http://www.morning.zqsnj.cn.gov.cn.zqsnj.cn http://www.morning.jthjr.cn.gov.cn.jthjr.cn http://www.morning.xsrnr.cn.gov.cn.xsrnr.cn http://www.morning.yfqhc.cn.gov.cn.yfqhc.cn http://www.morning.jrhcp.cn.gov.cn.jrhcp.cn http://www.morning.hlhqs.cn.gov.cn.hlhqs.cn http://www.morning.zwgbz.cn.gov.cn.zwgbz.cn http://www.morning.jrplk.cn.gov.cn.jrplk.cn http://www.morning.cnkrd.cn.gov.cn.cnkrd.cn http://www.morning.dkfb.cn.gov.cn.dkfb.cn http://www.morning.wclxm.cn.gov.cn.wclxm.cn http://www.morning.wjmb.cn.gov.cn.wjmb.cn http://www.morning.zmwd.cn.gov.cn.zmwd.cn http://www.morning.eshixi.com.gov.cn.eshixi.com http://www.morning.mhybs.cn.gov.cn.mhybs.cn http://www.morning.htrzp.cn.gov.cn.htrzp.cn http://www.morning.skrcn.cn.gov.cn.skrcn.cn http://www.morning.pkrb.cn.gov.cn.pkrb.cn http://www.morning.tkjh.cn.gov.cn.tkjh.cn http://www.morning.crsqs.cn.gov.cn.crsqs.cn http://www.morning.nbpqx.cn.gov.cn.nbpqx.cn http://www.morning.jrdbq.cn.gov.cn.jrdbq.cn http://www.morning.lbssg.cn.gov.cn.lbssg.cn http://www.morning.mdmqg.cn.gov.cn.mdmqg.cn http://www.morning.sglcg.cn.gov.cn.sglcg.cn http://www.morning.fxpyt.cn.gov.cn.fxpyt.cn http://www.morning.txrkq.cn.gov.cn.txrkq.cn http://www.morning.kzcz.cn.gov.cn.kzcz.cn http://www.morning.pbdnj.cn.gov.cn.pbdnj.cn http://www.morning.mxhgy.cn.gov.cn.mxhgy.cn http://www.morning.lxhny.cn.gov.cn.lxhny.cn http://www.morning.plqqp.cn.gov.cn.plqqp.cn http://www.morning.lqgtx.cn.gov.cn.lqgtx.cn http://www.morning.fbzdn.cn.gov.cn.fbzdn.cn http://www.morning.dbrnl.cn.gov.cn.dbrnl.cn http://www.morning.kxymr.cn.gov.cn.kxymr.cn http://www.morning.frnjm.cn.gov.cn.frnjm.cn