php操作mysql小结

<?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);

?>


你可能感兴趣的:(mysql,php操作)