myqsqli 链接数据库
- mysqli链接数据库需要四大参数
- 数据库的主机名: host
- 用户名: username
- 用户密码: password
- 默认的数据库 :dbname
- 格式:$mysqli = new mysqli($host, $username, $password, $dbname);
- 应用例子
参数写在config.php文件中,再通过connet.php文件 require 到文件中,如:// mysqli联系数据库
$mysqli = new mysqli('localhost', 'root', 'root', 'phpdbname');
// 判断是否联接成功
if ($mysqli-> connect_arrno) echo $mysqli->connect_error;
// 如果($mysqli-> connect_arrno)为真(即就是有错误),打印错误信息$mysqli->connect_error
require 'connect.php';
操作数据库
1)新增
sql语句格式:INSERT 表名 (字段1,字段2) VALUES (值1,值2),例如
$sql= “INSERT user
(username
,password
,sex
,,tel
) VALUES (‘liu’,’123456’,’1’,’13977788822’)”;
// 首先要把获得的数据转化为字符串;形式如
$data="'liu','123456','1','13977788822'";
$sql = "INSERT `user` (`username`,`password`,`sex`,,`tel`) VALUES ($data)";
// 然后,操作
$mysqli->query($sql);
// 然后关闭连接
$mysqli->close();
// 在实际应用中,还需要判断是否成功,提示操作结果,完整的例子如下
if ($mysqli->query($sql)) {
if ($mysqli->affected_rows > 0) {
echo '加入成功 ' . $mysqli->affected_rows . ' 条记录, 新增记录主键ID: ' . $mysqli->insert_id;
}
} else {
die('加入失败'. $mysqli->errno . ' : ' . $mysqli->error);
}
2)查询
sql语句格式:SELECT * FROM 表名 WHERE 条件;例如:
$sql = "SELECT `id`, `username`,`tel` FROM `user` WHERE `sex` = '1' ";
// 然后操作数据库
$mysqli_result = $mysqli->query($sql);
$staff = $mysqli_result->fetch_assoc())
// 然后关闭连接
$mysqli->close();
// 在实际应用中,还需要判断是否成功,并打印成希望的格式,完整的例子如下
if ($mysqli_result && $mysqli_result->num_rows > 0 ) {
while ($staff = $mysqli_result->fetch_assoc()) {
printf('<pre>%s</pre>', print_r($staff, true));
}
} else {
echo '查无数据';
}
// 如果是一次性查询出所有数据,可以用把上面的
// $mysqli_result->fetch_assoc() 更换成 $mysqli_result->fetch_all()
// 然后用foreach循环读出各条数据,用vprintf打印结果
// 应用例子如下
if ($mysqli_result && $mysqli_result->num_rows > 0 ) {
$staffs = $mysqli_result->fetch_all();
foreach ($staffs as $staff) {
vprintf('<li>编号: %s , 姓名: %s, 电话: %s</li>', $staff);
}
} else {
echo '查无数据';
}
3)修改
sql语句格式:UPDATE 表名 SET 字段=值 WHERE 条件;例如:
$sql = "UPDATE `user` SET tel='12345678912' WHERE `id` = 1";
在实际应用中,要考虑更新多个字段,以及判断更新是否成功,给用户提标操作结果
应用例子如下
$data =[tel='123456789']
$sql = "UPDATE `staffs` SET " . $data . " WHERE `id` = 1";
if ($mysqli->query($sql)) {
if ($mysqli->affected_rows > 0) {
echo '更新成功 ' . $mysqli->affected_rows . ' 条记录';
}
} else {
die('更新失败'. $mysqli->errno . ' : ' . $mysqli->error);
}
4)删除
sql语句格式:DELETE FROM 表名 WHERE 条件;例如:
$sql = "DELETE FROM `user` WHERE `id` = 2";
在实际应用中,要判断删除是否成功,给用户提标操作结果
应用例子如下
$sql = "DELETE FROM `usr` WHERE `id` = 2";
if ($mysqli->query($sql)) {
if ($mysqli->affected_rows > 0) {
echo '删除成功';
}
} else {
die('更新失败'. $mysqli->errno . ' : ' . $mysqli->error);
}
关闭数据库
$mysqli->close();
总结
- 1)数据库操作有一定的格式,要熟记下各种操作的格式
- 2)经常需要用到函数处理数据,把数组转为需要的字符串形工,熟悉应用不同函数将会大大提升工作效率
- 3)注意判断操作结果并返回给用户
- 4)进一步拓展mqsqli的语化