ready
论坛版主
论坛版主
  • UID24
  • 粉丝0
  • 关注0
  • 发帖数433
  • 社区居民
  • 忠实会员
  • 原创写手
阅读:8494回复:2

php mysqli操作mysqli_connect连接数据库实例详解

楼主#
更多 发布于:2019-11-20 09:10
php操作数据库首先必须连接到指定的数据库,之前我们用的mysql_connect函数,现在有的PHP版本已经不支持了,目前小编是使用mysqli_connect函数链接数据库,用法跟mysql基本相似。本文章向大家介绍mysqli_connect函数的使用方法和实例,需要的朋友可以参考一下

相关mysql视频教程推荐:《mysql教程

mysqli_connect介绍
php mysqli_connect用于连接mysql服务器,该函数有多个参数,语法如下
mysqli_connect(host,username,password,dbname,port,socket);
参数如下:
host 可选。规定主机名或 IP 地址。
username 可选。规定 MySQL 用户名。
password 可选。规定 MySQL 密码。
dbname 可选。规定默认使用的数据库。
port 可选。规定尝试连接到 MySQL 服务器的端口号。
socket 可选。规定 socket 或要使用的已命名 pipe。
但我们一般只需要了解以下四个参数即可:
host 可选。规定主机名或 IP 地址。
username 可选。规定 MySQL 用户名。
password 可选。规定 MySQL 密码。
dbname 可选。规定默认使用的数据库。

mysql_connect实例
[code ]<?php
$con=mysqli_connect("localhost","wrong_user","my_password","my_db");
// 检查连接
if (!$con)
{
    die("连接错误: " . mysqli_connect_error());
}
?>[/code]如果连接成功,则返回一个 MySQL 连接标识,如果连接失败则返回 FALSE。

这就是mysqli_connect()的用法,跟mysql_connect很接近。或者说就多了个i的区别。

ready
论坛版主
论坛版主
  • UID24
  • 粉丝0
  • 关注0
  • 发帖数433
  • 社区居民
  • 忠实会员
  • 原创写手
沙发#
发布于:2019-11-20 11:27


mysqli_connect和mysql_connect的区别


一:Mysqli.dll是一个允许以对象的方式或者过程操作数据库的,它的使用方式也很容易。这里就几个常见的操作和mysql.dll做一个对比。
1:mysql.dll(可以理解为函数式的方式):

$conn = mysql_connect('localhost', 'user', 'password'); //连接mysql数据库
mysql_select_db('data_base'); //选择数据库

$result = mysql_query('select * from data_base');//这里有第二个可选参数,指定打开的连接

$row = mysql_fetch_row( $result ) ) //为了简单,这里只取一行数据
echo $row[0]; //输出第一个字段的值

mysqli也有过程式的方式,只不过开始贯以mysqli的前缀,其他都差不多。如果mysqli以过程式的方式操作的话,有些函数必须指定资源,比 如说 mysqli_query(资源标识,SQL语句),并且资源标识的参数是放在前面的,而mysql_query(SQL语句,'可选')的资源标 识是放在后面的,并且可以不指定,它默认是上一个打开的连接或资源。

2mysqli.dll(对象方式):

$conn = new mysqli('localhost', 'user', 'password','data_base');
//这里的连接是new出来的,最后一个参数是直接指定数据库,不用mysql_select_db()了
//也可以构造时候不指定,然后 $conn -> select_db('data_base')

$result = $conn -> query( 'select * from data_base' );
$row = $result -> fetch_row();  //取一行数据
echo row[0]; //输出第一个字段的值

二:mysql_fetch_row(),mysql_fetch_array()

这两个函数,返回的都是一个数组,区别就是第一个函数返回的数组是只包含值,我们只能$row[0],
$row[1],这样以数组下标来读取数据,而mysql_fetch_array()返回的数组既包含第一种,也包含键值
对的形式,我们可以这样读取数据,(假如数据库的字段是 username,passwd):

$row['username'], $row['passwd']

而且,如果用($row as $kay => $value)来操作的话,还以直接取得数据库的字段名称。
更主要的是mysqli是php5提供的新函数库,(i)表示改进,其执行速度更快.
-----------------------------------------------------------------------------

你的sql出错是因为你调用mysqli的方式不对
参考:
$conn = new mysqli('localhost', 'user', 'password','data_base');
//这里的连接是new出来的,最后一个参数是直接指定数据库,不用mysql_select_db()了
//也可以构造时候不指定,然后 $conn -> select_db('data_base')

$result = $conn -> query( 'select * from data_base' );
ready
论坛版主
论坛版主
  • UID24
  • 粉丝0
  • 关注0
  • 发帖数433
  • 社区居民
  • 忠实会员
  • 原创写手
板凳#
发布于:2019-11-20 13:37
游客


返回顶部