三、PHP连接MySQL数据库
3.1、连接数据库
header('COntent-Type:text/html;charset=utf-8');//设置页面编码,如果文件是gbk编码,则charset也应用gbk
//@表示如果出错了,不要报错,直接忽略
//参数:服务器地址,用户名和密码
echo (!!@mysql_connect('localhost','root','*****'));//1
?>
我们用双感叹号!!来将资源句柄转换成布尔值,正确输出1,错误则输出错误信息。而如果前面加了@符号,则忽略错误信息,不会输出错误信息。
对于错误消息的处理,我们可以使用mysql_error()函数来输出错误消息:
mysql_connect('localhost','root','****') or die('数据库连接失败,错误信息:'.mysql_error());//对于密码错误的提示:数据库连接失败,错误信息:Access denied for user 'root'@'localhost' (using password: YES)
die()函数输出一条消息,并退出当前脚本。该函数是exit()函数的别名。
数据库连接参数,可以用常量来存储,这样就不能被随意修改,更加安全。
//定义常量参数
define('DB_HOST','localhost');
define('DB_USER','root');
define('DB_PWD','345823');//密码
$connect = mysql_connect(DB_HOST,DB_USER,DB_PWD) or die('数据库连接失败,错误信息:'.mysql_error());
echo $connect;//Resource id #2
?>
值得注意的是,mysql_connect()括号内的常量可不能加引号,否则肯定出错。
3.2、选择指定的数据库
define('DB_HOST','localhost');
define('DB_USER','root');
define('DB_PWD','345823');//密码
define('DB_NAME','trigkit');//在phpmyadmin创建一个名为trigkit的数据库
//连接数据库
$connect = mysql_connect(DB_HOST,DB_USER,DB_PWD) or die('数据库连接失败,错误信息:'.mysql_error());
//选择指定数据库
mysql_select_db(DB_NAME,$connect) or die('数据库连接错误,错误信息:'.mysql_error());//将表名字故意写错,提示的错误信息:数据库连接错误,错误信息:Unknown database 'trigkt'
?>
通常不需要使用mysql_close(),因为已打开的非持久连接会在脚本执行完毕后自动关闭
mysql_select_db(database,connection):选择MySQL数据库