php数据库访问及增删改

            利用PHP访问由MySQL构建的数据库           

连接到数据库

//1.造连接对象
$db = new MySQLi("localhost","root","123","text");

//2.判断连接是否出错
if(mysqli_connect_error())
{
	die("连接失败!");
}

准备SQL语句

$sql = "select * from info";

执行SQL语句,返回结果集对象

$result = $db->query($sql);   //执行查询语句

  

从结果集里面取数据

$attr = $result->fetch_all(); //返回所有数据,并且以二维数组的方式存在
//三个可选参数:MYSQLI_ASSOC返回关联数组,MYSQLI_NUM返回索引数组,MYSQLI_BOTH返回索引和关联都有的,使用的时候不需要加双引号

  

 var_dump($attr);   //输出结果

  

结果返回的是一个二维数组:

其他取数据语句:

//$attr = $result->fetch_array();//返回当前这条数据,返回的是一维数组,默认是索引关联都有
//$attr = $result->fetch_assoc(); //返回当前这条数据,返回的是一维关联数组
//$attr = $result->fetch_object(); //返回当前这条数据的对象
//$attr = $result->fetch_row(); //返回当前这条数据,返回的是索引数组

在页面中输出结果:

$attr = $result->fetch_all();

foreach($attr as $v)
{
	echo "<div>{$v[0]}--{$v[1]}--{$v[2]}--{$v[3]}--{$v[4]}</div>";
}

  

使用while语句:

  //1.造连接对象
$db = new MySQLi("localhost","root","","12345");

//2.判断连接是否出错
if(mysqli_connect_error())
{
	die("连接失败!");
}
$sql = "select * from info";
$result = $db->query($sql);
while($attr = $result->fetch_row())
{
	echo "<div>{$attr[0]}--{$attr[1]}--{$attr[2]}--{$attr[3]}--{$attr[4]}</div>";
}

使用for循环:

$de = new mysqli("localhost","root","","12345");
$e="select * from info";
$result = $de->query($e);
$atter = $result->fetch_all();
for($i=0;$i<count($atter);$i++)
{
	for($j=0;$j<count($atter[$i]);$j++)
	{
		if($j==4)
		{
			echo $atter[$i][$j]."<br>";
		}
		else
		{
			echo $atter[$i][$j]."--";
		}
		
	}
}
//1.造连接对象
$db = new MySQLi("localhost","root","","12345");

//2.判断连接是否出错
if(mysqli_connect_error())
{
	die("连接失败!");
}
$sql = "select * from info";
$result = $db->query($sql);
for(;$attr = $result->fetch_row();)
{
	echo "<div>{$attr[0]}--{$attr[1]}--{$attr[2]}--{$attr[3]}--{$attr[4]}</div>";
}

  

结果与上相同。

                          数据的增删改:                        

//1.造连接对象
$db = new MySQLi("localhost","root","123","text");

//2.准备一条SQL语句
$sql = "insert into nation values('n099','民族')";

//3.执行SQL语句
$result = $db->query($sql);

//执行成功返回true,执行失败返回false

执行后数据在MySQL中已写入,再执行会返回false。

 

     

     

 

原文地址:https://www.cnblogs.com/cyrfr/p/6193877.html