为了账号安全,请及时绑定邮箱和手机立即绑定

PHP进阶篇

Jason PHP开发工程师
难度初级
时长 9小时28分
学习人数
综合评分8.90
570人评价 查看评价
9.3 内容实用
8.8 简洁易懂
8.6 逻辑清晰
  • 数据库 

    if (function_exists('mysql_connect')) {

        echo 'Mysql扩展已经安装';

    }


    查看全部
  • $arr=array('apple'=>"苹果");

    使用array创建一个空数组,,使用“=>”符号来分割键和值,左侧表示键,右侧表示值。且在关联数组中,键一定是字符串

    查看全部
  • 关联数组=array('键'=>"值");    

    创建关联数组,关联数组的键是...,键所指的值为...

    索引和关联两个词都是针对数组的键而言的。

    关联数组是指数组的键是字符串的数组。

    可以使用下面代码实现:

    $fruit = array(

        'apple'=>"苹果",

        'banana'=>"香蕉",

        'pineapple'=>"菠萝"

    );

    可以使用print_r($fruit);语句输出数组键及对应的值。

    查看全部
  • for循环的时候是按照数字递增的,因此for只能访问键为数字的数组。foreach循环结构是按照数组内部的指针去循环的,当 foreach 开始执行时,数组内部的指针会自动指向第一个单元。因此下一次循环中将会得到下一个单元,不需要按照数组的键来遍历整个数组。

    查看全部
  • 数组变量=array('***','***');

    定义数组变量

    $arr0=$array['0'];

    上面表示去数组变量中键为0的值


    查看全部
  • 创建一个数组变量arr,并船舰一个索引数组,键为0,值是苹果

    $arr=array('0'=>'苹果');


    查看全部
  • $arr=array()    创建一个空数组

    查看全部
    0 采集 收起 来源:PHP数组定义

    2018-12-31

  • 注意到添加的$match变量的值为$match[1] ,与上节课$match[0]不同,此处的数字表示第几个匹配到的子组,上节课讲了,子组是用()括起来的。因此,表达式需要用()括起来才生效,/(\w+\s\w+)/,我们再深入一下,如果改成$match[3]呢?意思就是匹配到的第3个子组。那么我们就可以利用这个来匹配整个字符串是否是key : value 的形式了:

    $p = '/(\w+)(\s:\s)(\w+\s\w+)/';
    $str = "name:steven jobs";
    preg_match($p, $str, $match);
    echo $match[3]; //结果为:steven jobs


    查看全部
  • 当数据库操作完成以后,可以使用mysql_close关闭数据库连接,默认的,当PHP执行完毕以后,会自动的关闭数据库连接。

    mysql_close();

    虽然PHP会自动关闭数据库连接,一般情况下已经满足需求,但是在对性能要求比较高的情况下,可以在进行完数据库操作之后尽快关闭数据库连接,以节省资源,提高性能。

    在存在多个数据库连接的情况下,可以设定连接资源参数来关闭指定的数据库连接。

    $link = mysql_connect($host, $user, $pass);
    mysql_close($link);

    注意:后面的第8、9、10、11章单做课程了,大家请去课程列表里查找,标题为“PHP进阶篇-***”。
    PHP进阶篇-函数 :http://www.imooc.com/learn/737
    PHP进阶篇-日期时间函数:http://www.imooc.com/learn/698
    PHP进阶篇-GD库图像处理:http://www.imooc.com/learn/701
    PHP进阶篇-字符串操作:http://www.imooc.com/learn/726


    查看全部
  • 数据的更新与删除相对比较简单,只需要构建好相应的sql语句,然后调用mysql_query执行就能完成相应的更新与删除操作。

    $sql = "update user set name = '曹操' where id=2 limit 1";
    if (mysql_query($sql)) {
        echo '更新成功';
    }

    同样的删除可以使用类似以下的代码:

    $sql = "delete from user where id=2 limit 1";
    if (mysql_query($sql)) {
        echo '删除成功';
    }

    对于删除与更新操作,可以通过mysql_affected_rows函数来获取更新过的数据行数,如果数据没有变化,则结果为0。

    $sql = "update user set name = '曹操' where id=2 limit 1";
    if (mysql_query($sql)) {
        echo mysql_affected_rows();
    }


    查看全部
  • 上一节中,我们了解到通过循环可以获取一个查询的所有数据,在实际应用中,我们并不希望一次性获取数据表中的所有数据,那样性能会非常的低,因此会使用翻页功能,每页仅显示10条或者20条数据。

    通过mysql的limit可以很容易的实现分页,limit m,n表示从m行后取n行数据,在PHP中我们需要构造m与n来实现获取某一页的所有数据。

    假定当前页为$page,每页显示$n条数据,那么m为当前页前面所有的数据,既$m = ($page-1) * $n,在知道了翻页原理以后,那么我们很容易通过构造SQL语句在PHP中实现数据翻页。

    $page = 2;
    $n = 2;
    $m = ($page - 1) * $n;
    $sql = "select * from user limit $m, $n";
    $result = mysql_query($sql);
    //循环获取当前页的数据
    $data = array();
    while ($row = mysql_fetch_assoc($result)) {
        $data[] = $row;
    }

    在上面的例子中,我们使用了$m与$n变量来表示偏移量与每页数据条数,但我们推荐使用更有意义的变量名来表示,比如$pagesize, $start, $offset等,这样更容易理解,有助于团队协作开发。


    查看全部
  • 通过前面的章节,我们发现PHP操作数据库跟MySql客户端上操作极为相似,先进行连接,然后执行sql语句,再然后获取我们想要的结果集。

    PHP有多个函数可以获取数据集中的一行数据,最常用的是mysql_fetch_array,可以通过设定参数来更改行数据的下标,默认的会包含数字索引的下标以及字段名的关联索引下标。

    $sql = "select * from user limit 1";
    $result = mysql_query($sql);
    $row = mysql_fetch_array($result);

    可以通过设定参数MYSQL_NUM只获取数字索引数组,等同于mysql_fetch_row函数,如果设定参数为MYSQL_ASSOC则只获取关联索引数组,等同于mysql_fetch_assoc函数。

    $row = mysql_fetch_row($result);
    $row = mysql_fetch_array($result, MYSQL_NUM); //这两个方法获取的数据是一样的
    $row = mysql_fetch_assoc($result);
    $row = mysql_fetch_array($result, MYSQL_ASSOC);

    如果要获取数据集中的所有数据,我们通过循环来遍历整个结果集。

    $data = array();
    while ($row = mysql_fetch_array($result)) {
        $data[] = $row;
    }


    查看全部
  • 当我们了解了如何使用mysql_query进行数据查询以后,那么类似的,插入数据其实也是通过执行一个sql语句来实现,例如:

    $sql = "insert into user(name, age, class) values('李四', 18, '高三一班')";
    mysql_query($sql); //执行插入语句

    通常数据都是存储在变量或者数组中,因此sql语句需要先进行字符串拼接得到。

    $name = '李四';
    $age = 18;
    $class = '高三一班';
    $sql = "insert into user(name, age, class) values('$name', '$age', '$class')";
    mysql_query($sql); //执行插入语句

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

    $uid = mysql_insert_id();

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


    查看全部
  • 在数据库建立连接以后就可以进行查询,采用mysql_query加sql语句的形式向数据库发送查询指令。

    $res = mysql_query('select * from user limit 1');

    对于查询类的语句会返回一个资源句柄(resource),可以通过该资源获取查询结果集中的数据。

    $row = mysql_fetch_array($res);
    var_dump($row);

    默认的,PHP使用最近的数据库连接执行查询,但如果存在多个连接的情况,则可以通过参数指令从那个连接中进行查询。

    $link1 = mysql_connect('127.0.0.1', 'code1', '');
    $link2 = mysql_connect('127.0.0.1', 'code1', '', true); //开启一个新的连接
    $res = mysql_query('select * from user limit 1', $link1); //从第一个连接中查询数据


    查看全部
  • PHP要对数据库进行操作,首先要做的是与数据库建立连接,通常我们使用mysql_connect函数进行数据库连接,该函数需要指定数据库的地址,用户名及密码。

    $host = 'localhost';
    $user = 'code1';
    $pass = '';
    $link = mysql_connect($host, $user, $pass);

    PHP连接数据库的方式类似于直接在命令行下通过进行连接,类似:mysql -hlocalhost -ucode1 -p,当连接成功以后,我们需要选择一个操作的数据库,通过mysql_select_db函数来选择数据库

    mysql_select_db('code1');

    通常我们会先设置一下当前连接使用的字符编码,一般的我们会使用utf8编码。

    mysql_query("set names 'utf8'");

    通过上面的步骤,我们就与数据库建立了连接,可以进行数据操作了。


    查看全部

举报

0/150
提交
取消
课程须知
需要有一定的网页基础知识如HTML、CSS样式等,并且已经学习完成《PHP入门篇》对PHP已经有了简单的了解,如变量、常量、数据类型等。
老师告诉你能学到什么?
全面的掌握PHP的理论知识与实践中的应用方法,提高编程能力与掌握网页开发技能。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!