php学习笔记——PHP连接MySQL服务器

1.mysqli_connect()

实例

打开一个到 MySQL 服务器的新的连接:

$con=mysqli_connect("localhost","wrong_user","my_password","my_db");
// 检查连接
if (!$con)
{
    die("连接错误: " . mysqli_connect_error());
}
?>


定义和用法

mysqli_connect() 函数打开一个到 MySQL 服务器的新的连接。


语法

mysqli mysqli_connect(host,username,password,dbname,port,socket);

 

参数 描述
host 可选。规定主机名或 IP 地址。
username 可选。规定 MySQL 用户名。
password 可选。规定 MySQL 密码。
dbname 可选。规定默认使用的数据库。
port 可选。规定尝试连接到 MySQL 服务器的端口号。
socket 可选。规定 socket 或要使用的已命名 pipe。

技术细节

返回值: 返回一个代表到 MySQL 服务器的连接的对象。
PHP 版本: 5+
PHP连接MySQL服务器失败!";  
    echo "系统错误信息:".mysqli_connect_error();
    die(); //中止程序向下运行,也可以用 exit([string $string])
}

//(3)选择当前数据库
if(!mysqli_select_db($link,$db_name))
{
    echo "

选择数据库{$db_name}失败!

" die(); } //(4)设置数据库返回数据字符集 mysqli_set_charset($link,$charset); //(5)执行查询的SQL语句 $sql="SELECT * FROM Student"; //$sql="UPDATE student SET salary=salary+200 WHERE id=5"; $result=mysqli_query($link,$sql); //(6)从结果集中获取一行数据,并作为枚举数组返回(int作为下标,从0开始) while($arr=mysqli_fetch_row($result))//第一次获取第一行,第二次调用获取到第二行 { print_r($arr); } //(7)从结果集中获取一行数据,并作为关联数组返回(字段名作为下标) //$arr=mysqli_fetch_assoc($result); //print_r($arr); //echo arr['edu']; //(8)从结果集中获取一行数据,并作为关联数组,或索引数组,或两者兼有 //MYSQLI_BOTH(两者兼有,默认)、MYSQLI_ASSOC(关联索引)、MYSQLI_NUM(数字索引) //$arr=mysqli_fetch_array($result,MYSQLI_ASSOC); //$arr=mysqli_fetch_array($result); //print_r($arr); //echo arr['edu']; //(9)从结果集中获取所有数据,并作为关联数组,或索引数组,或两者兼有 //MYSQLI_BOTH(两者兼有,默认)、MYSQLI_ASSOC(关联索引)、MYSQLI_NUM(数字索引) //$arrs=mysqli_fetch_all($result,MYSQLI_ASSOC); //$arrs=mysqli_fetch_all($result); //print_r($arrs); //(10)从结果集中获取记录数 $records=mysqli_num_rows($result); echo "记录数为:$records"; //(11)手动销毁结果集变量 mysqli_free_result($result); //假设数据已经获取到,不需要再占着连接通道,即时关闭 mysqli_close($link);

2.@屏蔽错误

加载函数前,防止页面出错时,暴露连接信息

 

3.exit()和die()

 

4.sqli_connect_error()

实例

返回上一次连接错误的错误描述:

$con=mysqli_connect("localhost","wrong_user","my_password","my_db");
// 检查连接
if (!$con)
{
    die("连接错误: " . mysqli_connect_error());
}
?>


定义和用法

mysqli_connect_error() 函数返回上一次连接错误的错误描述。


语法

string mysqli_connect_error(void);

技术细节

返回值: 返回一个描述错误的字符串。如果没有错误发生则返回 NULL。
PHP 版本: 5+

 

5.mysqli_close()

实例

关闭先前打开的数据库连接:

$con=mysqli_connect("localhost","my_user","my_password","my_db");

// ....一些 PHP 代码...

mysqli_close($con);
?>


定义和用法

mysqli_close() 函数关闭先前打开的数据库连接。


语法

bool mysqli_close(mysqli $connection);

 

参数 描述
connection 必需。规定要关闭的 MySQL 连接。

技术细节

返回值: 如果成功则返回 TRUE,如果失败则返回 FALSE。
PHP 版本: 5+

6.选择当前数据库

bool mysqli_select_db(mysqli $link,string $database)

7. 设置客户端字符集

bool mysqli_set_charset(mysqli $link,string $charset)

8.执行各种SQL语句

resource mysqli_query(mysqli $link,string $query)

9.mysqli_free_result()

void mysqli_free_result(mysqli_result $result)

内存中的变量何时消失

(1)网页执行完毕,所有与本网页相关的变量自动销毁

(2)手动销毁指定的变量

注意:使用SELECT等查询有结果集时,才能释放。使用UPDATE返回的是boolean,释放会出错。

10.从结果集获取一行数据

(1)array mysqli_fetch_row(mysqli_result $result)

从结果集中取得一行作为枚举数组

(网上有说关联数组就是枚举数组的,也有说枚举数组和索引数组没啥区别,反正出来的数组是带int 下标的)

调用一次获取一行,第N次获取N行数据

提示:依次调用mysqli_fetch_row()将返回结果集中的下一行,如果没有更多行则返回FALSE。

===================================================================

关联数组的下标也就是key值可以是无序的,一般是字符串类型;比如:
array('one'=>'1','three'=>'2', 'fore'=>'3');

索引数组的下标(key)是有序的,一般为int型,比如:
array('one', 'two', 'three')
这个数组默认的下标就是0,1,2;(另外:索引数组的下标默认从0开始)

===================================================================

(2)array mysqli_fetch_assoc(mysqli_result $result)

从结果集中取得一行作为关联数组

注意:此函数返回的字段名大小写敏感

(3)array mysqli_fetch_arry(mysqli_result $result[,int $result_type=MYSQLI_BOTH])

从结果集中取得一行作为关联数组,或数字数组,或二者兼有(不写参数的时候)

参数:$result_type是一个常量,MYSQLI_BOTH(两者兼有,默认)、MYSQLI_ASSOC(关联索引)、MYSQLI_NUM(数字索引)

注意:本函数返回的字段名区分大小写

(4)mixed mysqli_fetch_all(mysqli_result $result[,int $resulttype=MYSQLI_NUM] )

从结果集中取得所有行作为索引数组、枚举数组、或二者兼有

10.获取记录数

(1)int mysqli_num_rows(myusqli_result $result)

取得结果集中行的数目

注意:此命令仅对select语句有效

(2)int mysqli_affected_rows(mysqli $link)

取得前一次MySQL操作所影响的记录行数

取得最近一次与 $link关联的SELECT、INSERT、UPDATE或DELETE查询所影响的记录行数

注意:如果最近一次查询失败,函数返回-1。当使用updata查询,MySQL不会讲原值和新值一样的值更新,返回值不一定就是查询条件所符合的记录,只有修改过的记录才会被返回。

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(WEB前端,PHP相关)