<?php
/*
mysql_*系列函数
mysql_connect: 连接数据库
mysql_query: 发送查询
对于 增删改,返回布尔型
对于查: 返回false,或资源型
mysql_fetch_assoc: 取出一行数据,形成的
mysql_error : 返回错误信息
mysql_errno : 返回错误代码
mysql_close : 关闭连接
*/
// 连接数据库
$conn = mysql_connect('localhost','root','111111');
mysql_query('set names utf8');
mysql_query('use ndac');
// 1: mysql_fetch_assoc,_array,_row之间的区别
/*
_assoc : 取回的数组,键名与列名保持一致,形成关联数组
_row : 取回的数组,键名按取出列的顺序,0,1,2...N 来排序,形成索引数组
_array : 取回的数组,是_assoc与_row的并集,既有数字,也有列名做键名
*/
/**/
$sql = 'select count(*) from art';
$rs = mysql_query($sql,$conn);
$list1 = array();
while($row = mysql_fetch_assoc($rs)) {
$list1[] = $row;
}
print_r($list1);
$rs = mysql_query($sql,$conn);
$list2 = array();
while($row = mysql_fetch_row($rs)) {
$list2[] = $row;
}
print_r($list2);
$rs = mysql_query($sql,$conn);
$list3 = array();
while($row = mysql_fetch_array($rs)) {
$list3[] = $row;
}
print_r($list3);
/*
// 2: 如何获取上一次query的受影响行数, 请在u,d,i之后立即调用
$sql = 'delete from art where id = 40';
$rs = mysql_query($sql,$conn);
$drow = mysql_affected_rows($conn); // 参数为连接资源
var_dump($rs);
if($drow) {
echo "成功删除了" , $drow ,'行';
} else {
echo "没有行受到影响";
}
*/
// 3: 如果获取刚刚新增的auto_increment列的值
/*
mysql_insert_id : 返回上一次insert查询所产生的auto_increment列的值
1:如果没有auto_increment列,返回0
2:列类型为auto_increment,就能返回该列的值,并不一定把列名叫id,
反之,如果列名叫id,但是非auto_increment类型,也获取不到该列的值.
3:如果一个表中,有2列都是auto_increment类型,怎么办? 那不可能,一个表中不可能有2个auto_increment列.
4:在insert之后,立即调用,不要间隔其他sql语句.
*/
/*
$sql = "insert into art (catid,title,content,pubtime) values (3,'测试标题','天气不错'," . time() .")";
// echo $sql;
if(!mysql_query($sql)) {
echo '插入失败';
exit;
}
$newid = mysql_insert_id($conn);
echo '插入成功,查看最新的文章,第',$newid,'号';
*/