1、连接mysql
<?php
header("Content-type:text/html;charset=utf-8");
if($con = mysql_connect('localhost','root','123')){
// 1、当连接成功的时候,返回mysql连接标识符
// 2、当连接失败的时候返回false
echo "连接成功";
}else{
echo "连接失败";
}
?>
2、数据库扩展
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);
3、php内置mysql函数
(1)关闭数据库
mysql_close($con); // con连接标识符
(2)选择数据库
if(mysql_select_db('test')){
// 当选择成功的时候,返回true
// 当选择失败的时候,返回false
echo "选择数据库成功";
}else{
echo "选择数据库失败";
}
(3)执行SQL语句
if(mysql_query('insert into test(name) values("abc")')){// insert的时候,当插入成功,返回true,当插入失败,返回false
echo "插入成功";
}else {
echo mysql_error();
echo "插入失败";
}
(4)查询语句
$res = mysql_query('select *from user limit 1');
$row = mysql_fetch_array($res);
var_dump($row);
输出如下
array(12) {
[0]=>
string(1) "1"
["id"]=>
string(1) "1"
[1]=>
string(6) "王二"
["name"]=>
string(6) "王二"
[2]=>
string(2) "19"
["age"]=>
string(2) "19"
[3]=>
string(12) "高三五班"
["class"]=>
string(12) "高三五班"
[4]=>
string(1) "0"
["status"]=>
string(1) "0"
[5]=>
string(19) "2018-07-02 18:08:47"
["create_time"]=>
string(19) "2018-07-02 18:08:47"
}
(5)Id获取
在mysql中,执行插入语句以后,可以得到自增的主键id,通过PHP的mysql_insert_id函数可以获取该id。
$uid = mysql_insert_id();
这个id的作用非常大,通常可以用来判断是否插入成功,或者作为关联ID进行其他的数据操作。
(6)mysql_fetch_row
$query = mysql_query('select * from test');
// 当mysql_query执行的sql是select语句的时候,如果执行成功,返回的是资源标识符
while($row = msyql_fetch_row($query)){
print_r($row);
}
// msyql_fetch_row 每执行一次,都从资源也就是结果集里依次取一条数据,以数组的形式返回出来,当前一次已经取到最后一条数据的时候,这一次返回空结果。返回的数组是一个一维索引数组,每一个下标与数据库里字段的排序相对应
(7)mysql_fetch_array
$query = mysql_query('select * from test');
$arr = mysql_fetch_array($query);
echo $arr['name']; // 直接输出某一列下的值
默认状态下取一条数据产生一个索引数组和一个关联数组
第二个参数
1、MYSQL_ASSOC - 关联数组
$arr = mysql_fetch_array($query,MYSQL_ASSOC);
2、MYSQL_NUM -索引数组
$arr = mysql_fetch_array($query,MYSQL_NUM); // mysql_fetch_row($query) 等价
3、MYSQL_BOTH - 默认(关联 + 索引数组)
$arr = mysql_fetch_array($query,MYSQL_BOTH);
(8)mysql_fetch_assoc
mysql_fetch_assoc ($query); // mysql_fetch_array($query,MYSQL_ASSOC) 等价
(9)mysql_fetch_object
$arr = mysql_fetch_object($query); // arr是一个对象
echo $arr->name;
(10)mysql_num_rows
echo mysql_num_rows($query); // 获取结果集中行的数量
(11)mysql_result
$query = mysql_query('select count(*) from fruitshop');
echo mysql_result($query,0); // 等价 $arr = mssql_fetch_row($query); echo $arr[0];
// 第一个参数 结果集
// 第二个参数 行号,从0开始
// 第三个参数 字段名 或者 偏移量 从0开始
(12)msyql_affected_rows 受影响的记录行数
返回前一次受insert,update,delete影响的记录的行数
echo msyql_affected_rows($con); // 连接标识符 当修改的数据和之前一样的时候,影响条数为0