PHP、数据库、HTML关系如下:
PHP连接数据库及查询数据库如下:
<?php
//编码
header('content-type:text/html; charset=utf-8');
//连接数据库 然候操作数据库
$conn = mysqli_connect('localhost','root','123456','think') or die("连接数据库失败");
//php读取数据库中的数(查询)
$sql = 'select * from `think_user`'; //查询SQL语句(注意:数据库当中一定要有think_user表)
$query = mysqli_query($conn,$sql); //将SQL语句传送到数据库运行,资源类型,将查询的结果压缩到$query中 看不到
//print_r($query);
//提取$query里面压缩的数据
//$result = mysqli_fetch_assoc($query); //提取压缩的数据,只能提取一条,以一维数组的形式返回
//print_r($result);
$list = array();
while($result = mysqli_fetch_assoc($query)){ //提取多条数据
$list[] = $result;
}
echo "<pre>";
print_r($list);
echo "</pre>";
mysqli_close($conn); //关闭连接
关于sql加反引号与不加反引号的理解
在mysql中的sql语句中常常为了避免与系统冲突而给表名加上反引号 ,但如果再想要指定其他数据库时则不能加,否则会被认作是表,举例如下:
当前在edu数据库中查询bbs库的thread表和reply表:
$query = $this->db->query("SELECT c.*,cc.* FROM bbs.thread as c LEFT JOIN bbs.reply as cc on c.tid=cc.rtid WHERE c.tid IN ($id)");
如果给bbs.thread加上反引号则会被mysql认作是表名,会自动再给加上edu,结果会是edu.bbs.thread