码迷,mamicode.com
首页 > 数据库 > 详细

在php中使用mysql的基础知识点回顾

时间:2015-02-09 12:57:10      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:

(1)通过php操作数据库分为4步:

——连接数据库服务器,如mysql。

——选择一个数据库。

——设置显示的字符集,防止中文显示错误。

——执行sql语句。

<?php 
//利用php连接数据库,需要注意的是有时候尽管连接上数据库,但是部分操作还是需要权限的,并非可以执行所有操作
$db_host="localhost";
$db_user="root";
$db_pwd="root";
$db_name="newone";
//这里的@是屏蔽mysql_connect语句返回的系统自动生成的错误信息,保证安全以及用户友好。
$link=@mysql_connect($db_host,$db_user,$db_pwd);
if ($link) {
	echo "MySql服务器连接成功!<br />";
	//mysql_select_db()第二个参数是连接符,如果省略则默认是上一个成功的连接符,就是$link,以下很多函数都省略了此参数
	if (mysql_select_db($db_name)) {
		echo "成功进入数据库".$db_name."<br />";
		//设置字符集,否则中文无法显示,以下用charset和names均可
		//mysql_query("set charset utf8;");
		mysql_query("set names utf8;");
		//引号中,执行语句的最后可以加分号,也可以省略分号
		$result=mysql_query("select * from newtable;");
		//直接执行下面语句,输出的是资源结果Resource id #4,我们需要从中取出数据
		print_r($result);
		//mysql_fetch_assoc()和用mysql_fetch_array()加上第二个可选参数MYSQL_ASSOC完全相同,返回关联数组。
		//也可以用mysql_fetch_row(),返回枚举数组。
                //用while($row=mysql_fetch_row($result)){$rows[]=$row;}实现取出所有值
		$rows=mysql_fetch_assoc($result);
		dump($rows);
	}else {
		echo "没找到数据库";
	}
}else{
	//mysql_error()是显示最近一次的错误信息,只显示错误文本信息,而不会把文件等等信息显示出来
	echo "WARNING:MySql服务器连接失败!".mysql_error();
}

function dump($arr){
	echo "<pre>";
	print_r($arr);
	echo "</pre>";
}
?>

(2)当然,上述部分代码书写习惯,也可以变成如下。比如定义常量的时候,用define代替。

define("db_host", "localhost");

还有,不实用if嵌套,而是单独写,如果遇到错误信息,只要终止程序继续执行即可,用exit("连接数据库服务器错误");


(3)一般,连接数据库的php代码写在整个html文档的最前面。

然后在<body></body>中需要使用到数据中的数据时,用mysql_fetch_row等获取数据,并且利用<? echo $row[0] ?>等把数据库中的内容动态地显示在网页中。


(4)mysql_fetch_row()和mysql_fetch_array()和mysql_fetch_assoc()都是从结果集中取出一行数据,然后指向下一行。区别在于:

——mysql_fetch_row()最终结果是枚举数组,即下标是枚举数字,即输出值的时候用$row[0],$row[1]之类的。

——mysql_fetch_assoc()取出的结果是关联数组,就是原有的字符下标,即$row["id"],$row["title"]即可输出值。

——mysql_fetch_array()取出的默认是混合的。但也可以指定第二个参数,可以是枚举下标也可以选择字符下标。默认混合的话,输出两种,一种是枚举下标一种是字符下标,如下,所以取值的话随便写哪一种都可以取值:

Array
(
    [0] => 3
    [id] => 3
    [1] => 反腐力度加大
    [title] => 反腐力度加大
)

(5)输出结果集中所有行,就是用while循环。

while ($rows=mysql_fetch_array($result)) {
	dump($rows);
}

(6)结果集中记录的数量是mysql_num_rows();

echo mysql_num_rows($result);


在php中使用mysql的基础知识点回顾

标签:

原文地址:http://blog.csdn.net/weisubao/article/details/43604027

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!