PHP与MySQL交互

与MySQL建立链接

直接使用PHP提供的函数。

连接指定的MySQL服务器

mysqli_connect()

$link = @mysqli_connect($host,$user,$password,$database,$port);
//$host          服务器的地址,一般为127.0.0.1
//$user          数据库的用户名   
//$password      数据库密码
//$database      与MySQL建立连接时,所选择的数据库的名字。[可选]
//$port          连接数据库时,所使用的端口[可选]

如果连接成功,返回object(mysql1);否则,返回bool(false) $link 是对象类型的变量,相当于一个“令牌”。

连接错误时的提示

mysqli_connect_errno();           //返回最后一次连接调用的错误代码
mysqli_connect_error();           //返回一个字符串描述的最后一次连接调用的错误代码

设置默认字符编码

mysqli_set_charset($link,'utf-8');

选择特定的数据库

mysqli_select_db($link,'bbs');

关闭与mysql服务器的连接

mysqli_close($link);

执行SQL语句

对数据库执行一条SQL语句

$sql = "select message.id,user.username,message.title
from user,message where message.uid=user.id";
$results = mysqli_query($link,$sql);
var_dump($results);    //    object(mysql_result)#2
//$link                      与mysql  交互的“令牌”
//$sql                       执行的SQL语句
//$results                   结果对象耦合
  • 如果SQL语句正常执行,就会返回对象类型object(mysqli_result)#2 的数据;否则,返回bool(false).
  • 对于insert,delete,update 等不会返回数据的SQL语句,在执行没有返回错误时将返回true
  • 对于返回数据的SQL语句执行成功的时候会返回结果集对象,可以使用操作结果集对象的函数来从中获取数据。
  • MYSQLI_STORE_RESULT和MYSQLI_USE_RESULT决定了mysqli client和server之间取结构集的方式。
    • MYSQL_STORE_RESULT下,执行SQL时提取结果集返回给client,并分配内存,存储到用户程序空间中。之后mysqli_fetch_array()相当于从本地读取数据;
    • MYSQL_USE_RESULT方式下,mysqli_fetch_array()每次都要向server请求结果行。
    • MYSQL_USE_RESULT,执行SQL的时候并没有从server 将结果集取回。

SQL语句错误

如果在执行SQL语句的时候发生错误,以上两个函数都将返回false。并且可以使用以下函数处理错误原因。

die("[".mysqli_errno($link)."]")".mysqli_error($link));
//$link              与mysql交互的令牌

操作结果集对象的函数

从结果集对象中解析数据的常见参数

函数速查

函数说明
mysqli_fetch_row()以索引数组的方式获取一条记录的数据
mysqli_fetch_assoc()以关联数组的方式获取一条记录的数据
mysqli_fetch_array()已索引数组或关联数组的方式获取一条记录的数据

mysqli_fetch_all()

以索引数组或关联数组的方式获取全部记录的数据
mysqli_num_rows()取出结果中行的数量
mysqli_free_result()释放与一个结果集合相关的内存

mysqli_num_rows()

mysqli_num_rows($results);
//                                4
//$results                        结果集对象

mysqli_fetch_row()

$result = mysqli_fetch_row($results);            //array(3)
$result = mysqli_fetch_row($results);            //array(3)
$result = mysqli_fetch_row($results);            //array(3)
$result = mysqli_fetch_row($results);            //array(3)
$result = mysqli_fetch_row($results);            // null

mysqli_fetch_assoc()

while($result = mysqli_fetch_assoc($results)){
    var_dum($result)
}

其他常用函数

mysqli_real_escape_string()

转义用于SQL语句中的特殊字符防止SQL语句出错

string mysqli_real_escape_string (mysqli $link,string $escapestr);

最慢的步伐不是缓慢而是徘徊,

最快的脚步不是跨越而是继续。

---------------------------《日记本》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值