<?php
//连接数据库
//设置文档显示编码
header(‘Content-type:text/html;charset=utf-8‘);
if($con=mysql_connect(‘localhost‘,‘root‘,‘1234‘)){//返回连接标识符
echo ‘连接成功<br>‘;
}else{
echo ‘连接失败<br>‘;
}
//选择数据库
if(mysql_select_db(‘mydbtest‘)){
echo "选择数据库成功<br>";
}else{
echo ‘选择数据库失败<br>‘;
}
//设置编码
mysql_query(‘set names utf8‘);
#插入数据
/*
$sql=‘insert into mytab(name) values(\‘huge\‘)‘;
if(mysql_query($sql)){//当sql语句为插入数据时,成功返回true,否则返回false
echo ‘插入数据成功!<br>‘;
}else{
echo ‘插入失败,原因:‘.mysql_error();
}
*/
#查询
//4fetch函数mysql_fetch_row(),mysql_fetch_array(),mysql_fetch_object(),mysql_fetch_assoc()
#mysql_fetch_row每次获取一条数据,产生一个索引数组,即下标是数字
/*
$sql=‘select * from mytab‘;
$query=mysql_query($sql);//当mysql_query执行select语句时,返回的是资源标识符,资源标识符是返回指向内存中的地址
//mysql_fetch_row(),每执行一次,都从资源也就是结果集中一次取一条数据以数组的形式返回出来,当前次取到最后一条数据的时候,这一次返回空结果
//使用mysql_fetch_row()遍历表
while($row=mysql_fetch_row($query)){
print_r($row);
}
*/
#mysql_fetch_array(),取一条数据,同上,默认返回索引数组和关联数组,尽管使用起来更方便,但效率不及mysql_fetch_now()
#第一个参数,资源标识符,第二个参数是数组输出形式,有MYSQL_ASSOC,只输出关联数组;MYSQL_NUM,只输出索引数组;MYSQL_BOTH,所以数组+关联数组
/*
$sql=‘select * from mytab‘;
$query=mysql_query($sql);
//默认
echo ‘<br>默认:‘;
$row=mysql_fetch_array($query);
print_r($row);
//MYSQL_NUM,索引数组
echo ‘<br>索引数组:‘;
$row=mysql_fetch_array($query,MYSQL_NUM);
print_r($row);
//MYSQL_ASSOC,关联数组
echo ‘<br>关联数组:‘;
$row=mysql_fetch_array($query,MYSQL_ASSOC);
print_r($row);
*/
#mysql_fetch_assoc,同mysql_fetch_array中的第二个参数选择为MYSQL_ASSOC
/*
$sql=‘select * from mytab‘;
$query=mysql_query($sql);
$row=mysql_fetch_assoc($query);
print_r($row);
*/
#mysql_fetch_object ,返回一行数据并将其转换为一个对象
/*
$sql=‘select * from mytab‘;
$query=mysql_query($sql);
$obj=mysql_fetch_object($query);
print_r($obj);
echo ‘<br>‘;
echo $obj->Name;
*/
#mysql_num_rows,返回结果的行数
/*
$sql=‘select * from mytab‘;
$query=mysql_query($sql);//sql语句不正确则返回空
//echo $query;
//echo ‘<br>‘;
echo mysql_num_rows($query);
echo ‘<br>‘;
if($query&&mysql_num_rows($query)){
//循环遍历表
while ($row=mysql_fetch_row($query)) {
print_r($row);
echo ‘<br>‘;
}
}
*/
#mysql_result,返回结果集中制定行和列的某个字段的值
/*
//$sql=‘select count(*) from mytab‘;
$sql=‘select * from mytab‘;
$query=mysql_query($sql);
//echo mysql_result($query,0);//共三个参数,第一个资源变量结果集,第二个行号,第三个列偏移量或列名
//echo mysql_result($query,0,1);//其中行号和列号都是从0开始的
echo mysql_result($query,3,‘Name‘);
*/
//mysql_affected_rows(),返回执行sql后影响的行数,参数为连接标识符
$sql=‘insert into mytab(name) values(\‘huge1\‘)‘;
if(mysql_query($sql)){
echo ‘插入成功!‘;
echo ‘<br>数据库中受影响的行数为:‘;
echo mysql_affected_rows($con);//该函数如果修改的数据与原数据相同,则受影响的行数为0,另外该函数只返回mysql_query中最后一词调用数据库受影响的行数
}
//关闭数据库连接,关闭非持久的数据库连接
mysql_close($con);
?>
php操作mysql小结