mysql_connect
建立数据库连接
header("Content-type:text/html;charset=utf-8");
if($conn = mysql_connect('localhost','root','123')){
echo "连接成功";
}else{
echo "连接失败";
}
mysql_close
关闭数据库连接
mysql_close($conn);
mysql_select_db
选择数据库
if(mysql_select_db('test1')){
echo "选择数据库成功";
}else{
echo "选择数据库失败";
}
mysql_query
查询数据库
mysql_query("set names utf8");//设置编码形式
if(mysql_query('INSERT INTO table1(name) VALUES("张三")')){
echo "插入成功";
}else {
echo mysql_error(); //返回错误信息
echo "插入失败";
}
mysql_fetch_row
索引数组获取数据
$result = mysql_query("SELECT * FROM table1");
while ($row= mysql_fetch_row($result)) {
echo $row[0].': '.$row[1];
echo '<br>';
}
结果:
1: 张三
2: 李四
3: 王五
mysql_fetch_array
混合数组获取数据
$result = mysql_query("SELECT * FROM table1");
$row = mysql_fetch_array($result);
print_r($row);
结果
Array ( [0] => 1 [id] => 1 [1] => 张三 [name] => 张三 )
可以通过mysql_fetch_array的第二个参数来改变数组的形式:
- MYSQL_ASSOC 关联数组
- MYSQL_NUM 索引数组
- MYSQL_BOTH 默认,混合数组
$result = mysql_query("SELECT * FROM table1");
$row = mysql_fetch_array($result, MYSQL_ASSOC);
print_r($row);
结果
Array ( [id] => 1 [name] => 张三 )
mysql_fetch_assoc
跟 mysql_fetch_array($result, MYSQL_ASSOC)一模一样
mysql_fetch_object
对象获取数据
$result = mysql_query("SELECT * FROM table1");
$row = mysql_fetch_object($result);
echo $row->id.":".$row->name;
结果
1:张三
mysql_num_rows
获取结果集行数
$result = mysql_query("SELECT * FROM table1");
echo mysql_num_rows($result);
结果
5
实例
$result = mysql_query("SELECT * FROM table1");
if($result && mysql_num_rows($result)){
//进行数据输出
while($row = mysql_fetch_row($result)){
//...
}
}else{
echo "没有数据";
}
mysql_result
返回结果集中一个字段的值
$result = mysql_query("SELECT * FROM table1");
echo mysql_result($result,0,0);//第0行,第0个数据
echo '<br>';
echo mysql_result($result,0,'name');
结果
1
张三
mysql_affected_rows
受影响的行数
返回前一次受INSERT,UPDATE,DELETE影响的行数
$result = mysql_query("UPDATE table1 SET name = '章三' WHERE id = 1");
echo mysql_affected_rows($conn);
结果
1
注意其参数为连接标识符。当修改的记录没有变化的时候,mysql_affected_rows返回0。
mysql_query("UPDATE table1 SET name = '章三' WHERE id = 1");
mysql_query("UPDATE table1 SET name = '李斯' WHERE id = 2");
echo mysql_affected_rows($conn);
此时仍然返回1,而不是2。因为它只返回上一次修改的记录条数。