论坛首页 编程语言技术论坛

PHP入门——MySQL数据库操作

浏览 4976 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-09-12   最后修改:2009-09-13

本文讲述如何通过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'表示。

   发表时间:2009-12-24  
哇 谢谢啦 正需要 这几天一直在回忆PHP。。。
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics