<?php header("content-type:text/html;charset=utf-8"); if($con = mysql_connect('localhost','root','root')) { echo "链接成功"; } else { echo "链接失败"; } //localhost:服务器 //root:用户名 //root:密码 ?>
一、链接成功,返回 MySQL标识符;
php
二、链接失败,返回false。html
判断PHP是否已经安装mysql扩展:
mysql
<?php if(function_exists('mysql_connect')) { echo "mysql扩展已经安装"; } ?>
PHP中一个数据库可能有一个或者多个扩展,其中既有官方的,也有第三方提供的。像Mysql经常使用的扩展有原生的mysql库,也可使用加强版的mysqli扩展,还可使用PDO进行链接与操做。sql
不一样的扩展提供基本相近的操做方法,不一样的是可能具有一些新特性,以及操做性能可能会有所不一样。数据库
mysql扩展进行数据库链接的方法:数组
$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password');
mysqli扩展:服务器
$link = mysqli_connect('mysql_host', 'mysql_user', 'mysql_password');
PDO扩展:函数
$dsn = 'mysql:dbname=testdb;host=127.0.0.1'; $user = 'dbuser'; $password = 'dbpass'; $dbh = new PDO($dsn, $user, $password);
示例:
性能
<?php $link = mysql_connect('127.0.0.1', 'code1', '') or die('数据库链接失败'); mysql_select_db('code1'); mysql_query("set names 'utf8'"); $result = mysql_query('select * from user limit 1'); $row = mysql_fetch_assoc($result); print_r($row);
一、设置字符集
fetch
mysql_query("set names 'utf8'");
二、选择数据库
mysql_select_db("db_name");
链接成功返回TRUE,链接失败返回false。
存在状况:(1)数据库不存在;(2)无权限操做数据库
$link = mysql_connect("localhost","root","root"); mysql_close($link);
mysql_query("insert into table (name) values('abc')");
返回值根据SQL语句不一样而各有不一样:
一、insert语句成功返回TRUE,失败返回FALSE
二、对于查询类的语句会返回一个资源句柄(resource),能够经过该资源获取查询结果集中的数据。
插入新数据到mysql中:
$sql = "insert into user(name, age, class) values('李四', 18, '高三一班')"; mysql_query($sql); //执行插入语句
一般数据都是存储在变量或者数组中,所以sql语句须要先进行字符串拼接获得。
$name = '李四'; $age = 18; $class = '高三一班'; $sql = "insert into user(name, age, class) values('$name', '$age', '$class')"; mysql_query($sql); //执行插入语句
echo mysql_error();
在mysql中,执行插入语句之后,能够获得自增的主键id,经过PHP的mysql_insert_id函数能够获取该id。
$uid = mysql_insert_id();
这个id的做用很是大,一般能够用来判断是否插入成功,或者做为关联ID进行其余的数据操做。
返回整型下标的数组,一次返回一行数据,而后指针下移
返回整型下标(索引数组)和关联下标数组,一次返回一行数据,而后指针下移;
mysql_fetch_array($result,""),第二个参数可取三个值:
1.MYSQL_ASSOC——关联数组;
2.MYSQL_NUM——数字数组;
3.MYSQL_BOTH——二者皆有(默认)
返回关联数组
输出对象
调取用:$obj->name
$query = mysql_query("select * from test"); $result = mysql_fetch_object($query); var_dump($result); echo $ressult->name; //输出名字
test数据库:
id(1,2,3) name(苹果,香蕉,西瓜)
$query = mysql_query("select * from test"); $result = mysql_fetch_row($query); var_dump($result);
返回查询到的资源的第一条数据:
array(2) { [0]=> string(1) "1" [1]=> string(6) "苹果" }
while循环输出全部结果:
while($result = mysql_fetch_row($query)) { var_dump($result); }
输出结果:
array(2) { [0]=> string(1) "1" [1]=> string(6) "苹果" } array(2) { [0]=> string(1) "2" [1]=> string(6) "香蕉" } array(2) { [0]=> string(1) "3" [1]=> string(6) "西瓜" }
一条一条输出:
$row1 = mysql_fetch_row($query); //第一条数据 var_dump($row1); $row1 = mysql_fetch_row($query); //第二条数据 var_dump($row1); $row1 = mysql_fetch_row($query); //第三条数据 var_dump($row1); $row1 = mysql_fetch_row($query); //bool(false) var_dump($row1); $row1 = mysql_fetch_row($query); //bool(false) var_dump($row1);
输出结果:
array(2) { [0]=> string(1) "1" [1]=> string(6) "苹果" } array(2) { [0]=> string(1) "2" [1]=> string(6) "香蕉" } array(2) { [0]=> string(1) "3" [1]=> string(6) "西瓜" } bool(false) bool(false)
只输出一个字段:
$query = mysql_query("select name from test"); while($result = mysql_fetch_row($query)) { var_dump($result); }
输出结果:
array(1) { [0]=> string(6) "苹果" } array(1) { [0]=> string(6) "香蕉" } array(1) { [0]=> string(6) "西瓜" }
输出结果为一个数字。
$query = mysql_query("select * from test"); mysql_num_rows($query);
用途:判断取出的结果是否有数据,若是有则输出数据
$query = mysql_query("select * from test"); if($query && mysql_num_rows($query) != 0) { //输出结果 while($row = mysql_fetch_row($query)) { echo $row[0]; } } else { echo "没有数据"; }
三个参数:结果集的地址、行号(0开始)、字段名或字段位置(0,1,2……)(可为空,默认为第一个字段)
$query = mysql_query("select * from test"); mysql_result($query,0,'name');
返回前一次受insert、update、delete影响的记录行数
参数:链接标识符
<?php $link = mysql_connect('127.0.0.1', 'code1', '') or die('数据库链接失败'); mysql_select_db('code1'); mysql_query("set names 'utf8'"); $result = mysql_query('delete from user limit 1'); echo "删除的数据条数为:".mysql_affected_rows($link);