php学习之数据访问

//造连接对象

$db = new MYSQLi("localhost","root","123","mydb");              //MYSQLi为类名,括号内为参数,第二个参数是root,

第三个是密码,第四个是要连接的数据库的名称。

//写SQL语句

$SQL = "select * form info";        //写一条SQL语句查询info表内的内容

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

$result = $db->query($sql);        //运用连接对象db调用query方法来执行写好的SQL语句,已经写好的SQl语句把它当做变量来执行一下,执行完

会返回结果集对象。用一个变量$result来接收一下,那么这个$result就是个结果集对象了。结果就在$result里面存着了。

//取数据                    //用fetch_all()方法取到的是表里面的所有的值

//$arr = $result->fetch_all(MYSQLI_BOth)      //用$result结果集对象来调用一下fetch_all()方法

//all()后面默认是MYSQLI_NUM的参数,代表数字的意思返回的数组下标索引是索引也就是数字。

//若all()后面的参数为MYSQLI_ASSOC这个参数返回为把原来的数字索引数组变为关联数组,会显示列名。

//若all()后面的参数为MYSQLI_BOTH这个参数返回为数组里面既有索引的也有关联的。

//查询所有数据返回所有数据fetch_all()需要额外的配置,有的支持有的不支持。  慎用

//$arr = $result->fetch_array();//fetch_array()方法默认返回一条数据。返回了一条一维数组,只包含一条数据也就是第一条数据。既有关联也有索引

while($arr = $result->fetch_array())     //运用while循环来遍历数组。 因为fetch_array()执行一次输出一条。

{

  var_dump($arr);

}

$arr = $result->fetch_assoc();     //也是每次返回一条数据,返回的是关联数组。也可以用while循环挨条读。

var_dump($arr);

$arr = $result->fetch_object();     //每执行一次返回一个对象   也可用while循环。 

var_dump($arr);

$arr = $result->fetch_row();    //每次读一条,返回一个索引数组。

var_dump($arr);

常用fetch_all(); 和 fetch_row();  一般用后者的时候运用while循环遍历出所有数据。

$db = new MYSQL("localhost","root","123","mydb");

$sql = "delete from info where code='n011' ";

$result = $db->query($sql);

var_dump($result);

//如果执行增删改语句,成功返回true,失败返回false

$result = $db->query($sql);       //执行SQL语句,返回结果集对象

//var_dump($result->num_rows);    //它可以显示数据的长度,可以用它来判断一下这个结果集里面有没有数据。

if($result->num_rows>0)          //运用if语句判断一下这个结果集里面有没有数据

{                    //判断一下如果大于0就代表里面有数据。如果小于0就说明这个结果集里面没有数据。就可以不用读了

}          //括号内也可以不用写大于零。 括号内的结果要么是0要么是1.2.3...,只要是0就是false就代表没有数据,是1.2.3...就代表true               //弱类型语言的特点:判断里面如果是0或者空值就代表false,判断里面如果是大于0的整数则就代表true

//所以我们可以使用它来作为一个条件,到底查到的结果里面有没有数据,如果有数据的话就来读,如果没有数据的话不判断就去读可能会报错。所以加个判断

//如果报错的里面包含读数据的方法如fetch_all() 或者fetch_row()再或者是fetch_assoc()等读数据获取数据的方法的错误的话就代表你的SQL语句

写错了。解决办法:我们可以命令echo $SQL;把这条SQL语句输出一下。看到这个语句复制,拿到数据库的查询里面粘贴执行它就会给你报错。

从数据库的表中读取数据显示

1.

<?php

echo "<select>";

$db = new MYSQLi("localhost","root","123","t_90052");

$sql = "select * from 7f";

$result = $db->query($sql);

$arr = $result->fetch_all();

foreach($arr as $v)

{

  echo "<option value='{$v[0]}'>{$v[1]}</option>";

}

echo "</select>";

?>

2.

<body>

<select>

<option>请选择</option>

<?php

$db = new MYSQLi("localhost","root","123","mydb");

$sql = "select * from nation";

$result = $db->query($sql);

while($arr = $result->fetch_row())

{

  echo "<option value='{$arr[0]}'>{$arr[1]}</option>";

}

?>

</select>

<body>

//在下拉列表里面设置一个默认的"请选择"选项。在2里面添加<option>请选择</option>

//第一种方法是所有的代码全在php里面输出

//第二种是先在页面上搭好html代码,然后哪个位置需要使用从数据库里读数据,哪个位置就嵌入php代码

原文地址:https://www.cnblogs.com/shandayuan/p/6924415.html