PHP与MySQL

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 '
'; }

结果:

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 '
'; 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。因为它只返回上一次修改的记录条数。

你可能感兴趣的:(PHP与MySQL)