PHP mysqli如何连接MySQL数据库
创始人
2024-06-12 15:11:08
0

在学习PHP语言的时候,我们知道,在进行MySQL数据库连接的时候我们采用了PHP mysqli这一方法。但是在实际操作中会遇到一些问题。通过本文的介绍,我们将会学到如何正确的利用PHP mysqli连接数据库。

#t#1. 开启PHP的API支持

(1)首先修改您的php.ini的配置文件。
      查找下面的语句:
      ;extension=php_mysqli.dll
      将其修改为:
      extension=php_mysqli.dll

(2)重新启动Apache/IIS,即可。

(3)说明:PHP需要单独的文件来支持这个扩展库,一般在PHP目录下的ext目录里能找到php_mysqli.dll文件(PHP <= 5.0.2 中是 libmysqli.dll),当然,在PHP的配置文件当中要有正确指向ext的信息(extension_dir)。假若您的PHP没有这个文件,您可以去下载PHP5的源码包。另外,这个API扩展,只能在PHP5以上版本使用。其它具体信息,请看下面。

2.PHP mysqli身份证

mysqli是“MySQL, Improved”的缩写,该扩展仅适用于PHP 5。它能用于MySQL 4.1.1和更高版本。该扩展完全支持MySQL 5.1中采用的鉴定协议,也支持预处理语句和多语句API。此外,该扩展还提供了先进的、面向对象的编程接口。

3. mysqli预定义类

mysqli

表达了 PHP 和 MySQL 数据库之间的连接。 

构造函数

mysqli - 构造一个新的PHP mysqli对象

方法

autocommit - 打开或关闭自动提交的数据库选项
change_user - 改变指定的数据库连接的用户
character_set_name - 返回数据库连接的默认字符集
close - 关闭一个之前打开的连接
commit - 提交当前事务
connect - 打开一个到 MySQL 数据库服务器的新连接
debug - 执行排错操作
dump_debug_info - 取得排错信息
get_client_info - 返回客户端版本
get_host_info - 返回连接使用的类型
get_server_info - 返回 MySQL 服务器的版本
get_server_version - 返回 MySQL 服务器的版本
init - 初始化PHP mysqli对象
info - 取得最近执行的查询的信息
kill - 要求服务器停止一个 mysql 线程
multi_query - 执行多个查询
more_results - check if more results exist from currently executed multi-query
next_result - reads next result from currently executed multi-query
options - set options
ping - pings a server connection or reconnects if there is no connection
prepare - prepares a SQL query
query - performs a query
real_connect - attempts to open a connection to MySQL database server
escape_string - escapes special characters in a string for use in a SQL statement, taking into account the current charset of the connection
rollback - rolls back the current transaction
select_db - selects the default database
set_charset - sets the default client character set
ssl_set - sets ssl parameters
stat - gets the current system status
stmt_init- initializes a statement for use with mysqli_stmt_prepare
store_result - transfers a resultset from last query
thread_safe - returns whether thread safety is given or not
use_result - transfers an unbuffered resultset from last query

属性

affected_rows - gets the number of affected rows in a previous MySQL operation
client_info - returns the MySQL client version as a string
client_version - returns the MySQL client version as an integer
errno - returns the error code for the most recent function call
error - returns the error string for the most recent function call
field_count - returns the number of columns for the most recent query
host_info - returns a string representing the type of connection used
info - retrieves information about the most recently executed query
insert_id - returns the auto generated id used in the last query
protocol_version - returns the version of the MySQL protocol used
server_info - returns a string that represents the server version number
server_version - returns the version number of the server as an integer
sqlstate - returns a string containing the SQLSTATE error code for the last error
thread_id - returns the thread ID for the current connection
warning_count - returns the number of warnings generated during execution of the previous SQL statement
 
 4. 基本语法

  1.    
  2.       
  3.     /* Connect to a MySQL server  连接数据库服务器 */   
  4.     $link = mysqli_connect(   
  5.                 'localhost',  /* The host to connect to 连接MySQL地址 */   
  6.                 'user',      /* The user to connect as 连接MySQL用户名 */   
  7.                 'password',  /* The password to use 连接MySQL密码 */   
  8.                 'world');    /* The default database to query 连接数据库名称*/   
  9.       
  10.     if (!$link) {   
  11.        printf("Can't connect to MySQL Server. Errorcode: %s ", mysqli_connect_error());   
  12.        exit;   
  13.     }   
  14.       
  15.     /* Send a query to the server 向服务器发送查询请求*/   
  16.     if ($result = mysqli_query($link, 'SELECT Name, Population FROM City ORDER BY Population DESC LIMIT 5')) {   
  17.       
  18.         print("Very large cities are: ");   
  19.       
  20.         /* Fetch the results of the query 返回查询的结果 */   
  21.         while( $row = mysqli_fetch_assoc($result) ){   
  22.             printf("%s (%s) ", $row['Name'], $row['Population']);   
  23.         }   
  24.       
  25.         /* Destroy the result set and free the memory used for it 结束查询释放内存 */   
  26.         mysqli_free_result($result);   
  27.     }   
  28.       
  29.     /* Close the connection 关闭连接*/   
  30.     mysqli_close($link);   
  31.     ?> 

以上所描写的解决办法能够帮助我们轻松解决PHP mysqli连接数据库的问题。

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...