赞
踩
一、PHP:mysqli介绍
mysqli:只用于连接MySQL数据,可以通过query方法直接执行,也可以通过prepare()方法预处理。可以很大程度的减轻服务器端压力。
mysqli 连接四大参数:数据库的主机名: host;用户名: username;用户密码: password;默认的数据库 :dbname
1、创建一个mysqli连接对象,传入连接参数,连接数据库。<?php
//配置数据库参数
$config = [
'host'=>'127.0.0.1',
'dbname'=>'users',
'username'=>'aaa',
'password'=>'123456',
'charset'=>'utf8',
'port'=>'3306',
];
extract($config);//将关联数组扩展为变量,键为变量名,值为数组元素的值
$mysqli = new mysqli($host, $username, $password, $dbname);//连接数据库
if($mysqli->connect_errno)die('数据库连接失败:'.$mysqli->connect_errno);//判断是否连接失败,输出失败原因
$mysqli->set_charset($charset);
2、商户信息表的增删改查操作。
1)mysqli执行query()方法后返回一个结果集对象;
2)查询操作,通过fetch_assoc()、fetch_all()、fetch_row()等方法获取数据;
3)更新、删除操作,通过affected_rows属性获取受影响的记录数.
<?php
// 增加记录操作
require 'db.php';
$arr = ['茶叶2','2000',3];
array_walk($arr,function(&$item,$key,$length) {
if($key
},count($arr));
$data = implode(',',$arr);
$sql = "INSERT `goods`(`name`,`price`,`number`)VALUES($data)";
if($mysqli->query($sql)){
if($mysqli->affected_rows>0) {
echo '成功添加了',$mysqli->affected_rows.'条记录,
新增记录ID:'.$mysqli->insert_id;
}else {
echo '没有添加新记录';
}
}else {
die('添加失败'.$mysqli->errno.':'.$mysqli->error);
}
$mysqli->close();
echo '
// 删除记录操作
require 'db.php';
$sql = "DELETE FROM `goods` where `id` = ".$_GET['id'];
if($mysqli->query($sql)){
if($mysqli->affected_rows>0) {
echo '成功删除了 id='.$_GET['id'].'的记录';
}else{
echo '没有删除记录';
}
}else{
die('删除失败'.$mysqli->errno.':'.$mysqli->error);
}
$mysqli->close();
echo '
// 修改记录操作
require 'db.php';
$arr = ['name'=> '茶叶888','price' => 3000];
array_walk($arr,function(&$item,$key){
$item = "`$key` = '$item'";
});
$data = implode(',',$arr);
$sql = "UPDATE `goods` SET " . $data . " WHERE `id` = '1'";
if ($mysqli->query($sql)) {
if($mysqli->affected_rows>0) {
echo '成功更新了'.$mysqli->affected_rows.'条记录';
}else{
echo '没有更新任何记录';
}
}else {
die('更新失败'.$mysqli->errno.':'.$mysqli->error);
}
$mysqli->close();
echo '
';
// 查询记录操作
require 'db.php';
$sql = "SELECT `id`,`name`,`price` FROM `goods` WHERE `id` > 5";
$mysqli_result = $mysqli->query($sql);
if($mysqli_result && $mysqli_result -> num_rows > 0) {
$shop = $mysqli_result->fetch_all();
foreach($shops as $shop){
vprintf('
id:%s,商品名:%s,价格:%s',$shop);}
}else {
echo '查询失败';
}
$mysqli_result->free_result();
$mysqli->close();
四、总结:记录mysqli方式连接数据库知识,为什么要这样写?还不是很懂,只能先仿老师给出的思路。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。