MySQLi基于面向过程的编程

mysqli在windows上,对于PHP 5.3或更新版本,mysqli扩展默认开启,对于PHP 5.0 5.1 5.2,mysqli扩展默认并不会开启,因此php.ini中php_mysqli.dll这个DLL 必须开启。

MySQLi基于面向过程的编程和面向对象的编程是相对的,其中使用到的方法都是可以类比的。

连接数据库

header("Content-type:text/html;charset=utf-8");
$link  =  mysqli_connect( 'localhost' ,  'root' ,  '' ,  'test' ) or die ('Connect Error:'.mysqli_connect_error());

设置字符编码

mysqli_set_charset($link,‘UTF8’);

插入记录


$query = "INSERT INTO staff(id,name,job) VALUES('','naruto','保安队长')";
$res = mysqli_query($link,$query);//插入成功返回真,插入失败返回假
if($res){
    //插入成功则输出自增主键的id
    echo "AUTO_INCREMENT:".mysqli_insert_id($link);
    echo "<hr/>";
    echo "AFFECTED ROWS:".mysqli_affected_rows($link);
}else{
    //插入失败则输出错误编号和错误信息
    echo "Error:";
    echo mysqli_errno($link).":".mysqli_error($link);
}

查询一条记录

函数名说明
mysqli_fetch_assoc($result)查询到的一条数据以关联数组形式返回
mysqli_fetch_row($result)查询到的一条数据以索引数组形式返回
mysqli_fetch_array($result)查询到的一条数据以索引数组和关联数组的混合形式返回
mysqli_fetch_object($result)查询到的一条数据以对象属性的形式返回
mysqli_fetch_array($result)查询到的一条数据以索引数组和关联数组的混合形式返回
mysqli_fetch_array($result,MYSQLI_BOTH)查询到的一条数据以索引数组和关联数组的混合形式返回
mysqli_fetch_array($result,MYSQLI_ASSOC)查询到的一条数据以关联数组的混合形式返回
mysqli_fetch_array($result,MYSQLI_ROW)查询到的一条数据以索引数组的混合形式返回
$query = "SELECT * FROM staff WHERE id = 2";
$result = mysqli_query($link, $query);
$row = mysqli_fetch_assoc($result);
var_dump($row);    //输出查询结果

每次取出一条数据

$query = "SELECT * FROM staff";
$result = mysqli_query($link, $query);
while($row = mysqli_fetch_assoc($result)){
    $rows[] = $row;
};
echo "共".count($rows)."条记录:";
var_dump($rows);

更新记录

更新操作和插入操作类似,区别是执行的sql语句不同。

$query = "UPDATE staff SET name = 'kakax' WHERE id = 3";
$res = mysqli_query($link,$query);//插入成功返回真,插入失败返回假
if($res){
    //插入成功则输出自增主键的id
    echo "AUTO_INCREMENT:".mysqli_insert_id($link);
    echo "<hr/>";
    echo "AFFECTED ROWS:".mysqli_affected_rows($link);
}else{
    //插入失败则输出错误编号和错误信息
    echo "Error:";
    echo mysqli_errno($link).":".mysqli_error($link);
}

删除记录

删除操作和插入操作以及更新操作类似,区别是执行的sql语句不通。

$query = "DELETE FROM staff WHERE id = 13";
$res = mysqli_query($link,$query);//插入成功返回真,插入失败返回假
if($res){
    //插入成功则输出自增主键的id
    echo "AUTO_INCREMENT:".mysqli_insert_id($link);
    echo "<hr/>";
    echo "AFFECTED ROWS:".mysqli_affected_rows($link);
}else{
    //插入失败则输出错误编号和错误信息
    echo "Error:";
    echo mysqli_errno($link).":".mysqli_error($link);
    ```
    
## 关闭连接
```php
mysqli_close($link);

如果不适用mysqli_close()语句关闭数据库的连接,则非持久连接会在脚本执行完毕后自动关闭。
mysqli_close() 不会关闭由 mysqli_pconnect() 建立的持久连接。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值