PHP入门——MySQL数据库操作

本文讲述如何通过PHP和MySQL进行数据库简单操作。

本文通过MySQL extension进行数据库操作,MySQL Improved简称MySQLi。

 

查询操作

<?php
       //数据库连接
	$mysqli = new mysqli("localhost","root","root","mycompany");
	if($mysqli === false){
		die("ERROR: 无法连接." . mysqli_connect_error);
	}
        //SQL查询语句
	$sql = "SELECT * FROM employees";
	if($result = $mysqli -> query($sql)){
		if($result -> num_rows > 0){
			while($row = $result -> fetch_array()){
				echo nl2br($row[0].":".$row[1]."\n");
			}
			$result -> close();
		}else{
			echo "暂时没有任何记录";
		}
	}else{
		echo "ERROR: 无法执行SQL语句:$sql. ".$mysqli->error;
	}
        //关闭连接
	$mysqli -> close();
?>

 以上是使用mysqli进行数据库查询的使用方法。取结果集中数据可以通过三种方式,上面使用过使用普通数组方式获取,还有两种方式分别是通过关联数组和对象属性。

通过关联数组获取数据

<?php
...
echo nl2br($row['id']." : ".$row['name']."\n");
...
?>

  通过对象属性获取数据

<?php
...
while($row=$result->fetch_object()){
    echo nl2br($row->id." : ".$row->name."\n");
}
...
?>

 

添加数据操作

<?php
	$mysqli = new mysqli("localhost","root","root","mycompany");
	if($mysqli===false){
		die("ERROR:无法连接.");
	}
	$sql = "INSERT INTO employees(name) values('superwulei')";
	if($mysqli->query($sql)===true){
		echo "New employee with id: '.$mysqli->insert_id.' added';
	}else{
		echo "ERROR: 无法执行SQL语句: $sql.".$mysqli->error;
	}
        $mysqli->close();
?>

 

修改数据操作

修改数据的方法同添加数据方法一样,如果想要知道修改数据影响了多少行就不能使用$mysqli->insert_id了,要使用$mysqli->affected_rows。

 

PLUS

以上介绍的都是普通SQL使用方法,但是有时为防止SQL注入、提高运行效率等,我们会使用到下面的方法来操作数据库,即使用预处理语句。

<?php
        $employees = array('superwulei','李开复','温家宝','Bill Gates','成龙');
	$mysqli = new mysqli("localhost","root","root","mycompany");
	if($mysqli===false){
		die("ERROR: 无法连接.");
	}
	$sql = "INSERT INTO employees (name) values(?)";
	if($stmt=$mysqli->query($sql)===true){
                foreach($employees as $employee){
                        $stmt->bind_param('s',$employee);
                        if($stmt->execute()){
                                echo "编号为".$mysqli->insert_id."的新员工添加到数据库\n";
                         }
                }
	}else{
		echo "ERROR: 无法执行SQL: $sql.".$mysqli->error;
	}
        $mysqli->close();
?>

 其中有一条语句$stmt->bind_param('s',$employee)中的第一个参数s表示所绑定的变量$employee为字符,如果是数字要使用'i'表示。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值