php与mysql

1、连接mysql

<?php
    header("Content-type:text/html;charset=utf-8");
    if($con = mysql_connect('localhost','root','123')){
        // 1、当连接成功的时候,返回mysql连接标识符
        // 2、当连接失败的时候返回false
        echo "连接成功";
    }else{
        echo "连接失败";
    }
?>

2、数据库扩展

mysql扩展进行数据库连接的方法:

$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password');

mysqli扩展:

$link = mysqli_connect('mysql_host', 'mysql_user', 'mysql_password');

PDO扩展

$dsn = 'mysql:dbname=testdb;host=127.0.0.1';
$user = 'dbuser';
$password = 'dbpass';
$dbh = new PDO(dsn,user, $password);

3、php内置mysql函数

(1)关闭数据库
mysql_close($con);  // con连接标识符
(2)选择数据库
if(mysql_select_db('test')){
    // 当选择成功的时候,返回true
    // 当选择失败的时候,返回false
    echo "选择数据库成功";
}else{
    echo "选择数据库失败";
}
(3)执行SQL语句
if(mysql_query('insert into test(name) values("abc")')){// insert的时候,当插入成功,返回true,当插入失败,返回false
    echo "插入成功";
}else {
        echo mysql_error();
    echo "插入失败";
}
(4)查询语句
$res = mysql_query('select *from user limit 1');
$row = mysql_fetch_array($res);
var_dump($row);

输出如下

array(12) {
  [0]=>
  string(1) "1"
  ["id"]=>
  string(1) "1"
  [1]=>
  string(6) "王二"
  ["name"]=>
  string(6) "王二"
  [2]=>
  string(2) "19"
  ["age"]=>
  string(2) "19"
  [3]=>
  string(12) "高三五班"
  ["class"]=>
  string(12) "高三五班"
  [4]=>
  string(1) "0"
  ["status"]=>
  string(1) "0"
  [5]=>
  string(19) "2018-07-02 18:08:47"
  ["create_time"]=>
  string(19) "2018-07-02 18:08:47"
}
(5)Id获取

在mysql中,执行插入语句以后,可以得到自增的主键id,通过PHP的mysql_insert_id函数可以获取该id。

$uid = mysql_insert_id();

这个id的作用非常大,通常可以用来判断是否插入成功,或者作为关联ID进行其他的数据操作。

(6)mysql_fetch_row
$query = mysql_query('select * from test');
// 当mysql_query执行的sql是select语句的时候,如果执行成功,返回的是资源标识符
while($row = msyql_fetch_row($query)){
    print_r($row);
}
// msyql_fetch_row 每执行一次,都从资源也就是结果集里依次取一条数据,以数组的形式返回出来,当前一次已经取到最后一条数据的时候,这一次返回空结果。返回的数组是一个一维索引数组,每一个下标与数据库里字段的排序相对应
(7)mysql_fetch_array
$query = mysql_query('select * from test');
$arr = mysql_fetch_array($query);
echo $arr['name'];  // 直接输出某一列下的值

默认状态下取一条数据产生一个索引数组和一个关联数组
第二个参数
1、MYSQL_ASSOC - 关联数组

$arr = mysql_fetch_array($query,MYSQL_ASSOC);

2、MYSQL_NUM -索引数组

$arr = mysql_fetch_array($query,MYSQL_NUM); //  mysql_fetch_row($query) 等价

3、MYSQL_BOTH - 默认(关联 + 索引数组)

$arr = mysql_fetch_array($query,MYSQL_BOTH);
(8)mysql_fetch_assoc
 mysql_fetch_assoc ($query); //  mysql_fetch_array($query,MYSQL_ASSOC) 等价
(9)mysql_fetch_object
$arr = mysql_fetch_object($query);  // arr是一个对象
echo $arr->name;   
(10)mysql_num_rows
echo mysql_num_rows($query);  // 获取结果集中行的数量
(11)mysql_result
$query = mysql_query('select count(*) from fruitshop');
echo mysql_result($query,0);  // 等价 $arr = mssql_fetch_row($query); echo $arr[0];
// 第一个参数 结果集 
// 第二个参数 行号,从0开始 
// 第三个参数 字段名 或者 偏移量 从0开始
(12)msyql_affected_rows 受影响的记录行数

返回前一次受insert,update,delete影响的记录的行数

echo msyql_affected_rows($con);  // 连接标识符 当修改的数据和之前一样的时候,影响条数为0
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容