• PHP复习资料(未完待续)


    特别鸣谢:@NLER提供雨课堂数据

    (未完待续,请持续关注此板块)
    【计科三四】雪课堂PHP期末模拟题:https://ks.wjx.top/vm/tUAmjxq.aspx#
    【计科一二】PHP第一章练习题 https://ks.wjx.top/vm/QnjHad4.aspx#
    【计科一二】PHP第二章练习题 https://ks.wjx.top/vm/h2FvEVI.aspx#
    【计科一二】PHP第三章练习题 https://ks.wjx.top/vm/mDvpYRP.aspx#
    【计科一二】PHP第四章练习题 https://ks.wjx.top/vm/Pj7n0AW.aspx#
    【计科一二】PHP第五章练习题 https://ks.wjx.top/vm/wBNmk7o.aspx#
    【计科一二】PHP第六章练习题 https://ks.wjx.top/vm/tU0jnyJ.aspx#
    【计科一二】PHP第七章练习题 https://ks.wjx.top/vm/eqtTMy8.aspx#

    以下内容都是博主根据上面的练习题逆向整理的

    第1章

    1.1 PHP入门

    PHP开发环境有:Notepad++NetBeansZend StudioPhpStormVisual Studio Code

    PHP可以在 windows环境上跑,也可以在linux环境下运行

    PHP是基于B/S架构的脚本语言,运行于服务器端,不能通过浏览器运行

    1.2 Apache

    Apache 默认监听的端口号是 80

    安装Apache 时,conf目录是Apache服务器的配置目录

    • 主文件配置:httpd.conf
    • 辅文件配置:extra目录下的httpd-vhosts.conf

    默认情况下,辅配置文件不开启。
    在这里插入图片描述

    1.2.1 配置 Apache

    在这里插入图片描述

    将Apache解压后,需要配置安装路径才可以使用
    (安装完还不能直接使用)

    Apache默认是不支持PHP运行的,我们可以通过在Apache的配置文件中加载PHP模块功能。

    1、加载模块
    LoadModule php7_module “c:/web/php7.4/php7apache2_4.dll”
    2、指定php的文件类型
    AddType application/x-httpd-php .php
    3、指定配置目录
    PHPIniDir “c:/web/php7”

    配置安装路径

    ServerRoot配置项用于配置Apache的安装目录

    使用Notepad++编辑器打开Apache的配置文件“htdocs\httpd.conf”,执行文本替换,将原来的“c:/Apache24”全部替换为“c:/web/apache2.4”。

    配置服务器域名

    ServerName 配置项用于配置Apache的服务器域名

    打开 httpd.conf,在里面搜索“ServerName”,找到下面一行配置(如下面的代码块)。下述代码开头的“#”表示该行是注释文本,应删去“#”使其生效,如下所示。

    #ServerName www.example.com:80
    
    • 1

    上述配置中,“www.example.com”是一个示例域名,若不需要指定域名,也可以更改为本机地址,如“127.0.0.1”或“localhost”。

    ServerName www.example.com:80
    
    • 1

    其他配置项

    DocumentRoot指令用来设置httpd提供服务的目录。即你所在项目入口处的文件夹。

    Deny from all 表示拒绝所有的访问
    Allow from all 表示允许所有的访问

    1.2.2 安装 Apache
    1. 切换命令行到 Apache 安装目录
    cd C:\web\apache2.4\bin
    
    • 1
    1. Apache核心安装命令: httpd.exe -k install
    1.2.3 启动 Apache

    在命令提示符下输入net start apache2.4命令来启动apache2.4服务

    1.2.4 其他

    通过编辑apache配置文件httpd.conf,找到AddType application/x-httpd-php 进行修改,修改为:AddType application/x-httpd-php .php .jsp,这样PHP就可以执行扩展名为“.jsp”的程序。

    1.3 MySQL

    MySQL 的默认端口:3306

    当需要使用PHP操作MySQL数据库时,需要在php.ini文件中开启的扩展为extension=php_mysqli.dll

    DDL
    查看数据库:SHOW DATABASES; (查看已有的数据库)
    创建数据库:CREATE DATABASE `db`; (创建一个名称为db的数据库)
    选择数据库:USE `db`; (选择数据库db进行操作)
    删除数据库:`DROP DATABASE `db`; (删除数据库db)
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    DTL

    在这里插入图片描述

    DML

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    其他

    在查询SQL语句中LIKENOT LIKE用于模糊查询,% 表示一个或多个字符

    第二章

    2.1 PHP的数据类型

    • 标量数据类型:String(字符串)、Integer(整型)、Float(浮点型)、Boolean(布尔型)
    • 复合数据类型:Array(数组)、Object(对象)
    • 特殊数据类型:NULL(空值)、Resource(资源)

    2.2 PHP 传值赋值 和 引用赋值

    PHP 支持引用赋值,使用$var = &$othervar;语法。
    引用赋值意味着两个变量指向了同一个数据,没有拷贝任何东西。

    示例:

    
    $a = 10;
    $b = &$a;
    $b = 20;
    echo $a. '--'. $b;
    // 运行结果:20--20
    ?>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    2.3 PHP中的 foreach 循环

    
    $info = ['id' => 1, 'Jac', 'age' => 18];
    foreach ($info as $k => $v) {
        echo $k . ': ' . $v . ' ';
    }
    // 运行结果:id: 1 0: Jac age: 18
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    2.4 && || and or的区别

    优先级从高到低:&& > || > and >> or

    • && 和 || 的优先级高于 and 和 or
    • && 和 || 是左结合的,而 and 和 or 是右结合的
    • && 和 || 的运算结果是布尔值,而 and 和 or 的运算结果是最后一个计算的操作数

    举个例子:

    
    $a = true;
    $b = false;
    $c = true;
    
    var_dump($a && $b || $c); // bool(true)
    var_dump($a and $b || $c); // bool(false)
    
    var_dump($a || $b && $c); // bool(true)
    var_dump($a or $b && $c); // bool(true)
    
    var_dump(true && false); // bool(false)
    var_dump(true and false); // bool(true)
    ?>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    2.5 round(), floor(), ceil() 的区别

    在PHP中,round()、floor()、ceil()都是用于处理数字的函数,它们的主要区别如下:

    • round():把一个浮点数四舍五入为最接近的整数。如果小数部分为0.5,则根据偶数舍去或进位。
    • floor():把一个浮点数向下取整为最接近的整数。即舍去小数部分,返回不大于原数的整数。
    • ceil():把一个浮点数向上取整为最接近的整数。即进位到最接近的整数,返回不小于原数的整数。

    总的来说,round()函数在处理小数时比较精确,而floor()和ceil()函数主要用于处理需要向下或向上取整的情况。

    2.6 可变变量

    在 PHP 中,可变变量是一种非常独特的特性,它允许您动态地为变量赋值,并且通过对变量名进行操作,来访问和修改该变量的值。

    可变变量的语法是在变量名前面加上两个美元符号($$)。例如,假设您有一个名为$var的变量,您可以创建一个可变变量,以便它的名称由另一个变量$var1指定:

    $var = 'Hello World!';
    $var1 = 'var';
    echo $$var1; // Hello World!
    
    • 1
    • 2
    • 3

    这将输出 ‘Hello World!’,因为可变变量$$var1实际上是$var

    可变变量在某些情况下非常有用,例如在使用 关联数组 时,您可以动态地为数组项赋值:

    $fruit = 'apple';
    $$fruit = 5;
    echo $apple; // 5
    
    • 1
    • 2
    • 3

    这将输出 5,因为通过可变变量,我们为数组项 $apple 赋值为5。

    需要注意,可变变量在某些情况下可能会使您的代码更难以阅读和维护,因此应该谨慎使用。

    2.7 字符串拼接

    在 PHP 中,可以使用点(.)运算符来拼接字符串。

    例如,如果要拼接两个字符串 $str1 和 $str2,可以使用以下语法:

    $newstr = $str1 . $str2;
    
    • 1

    也可以使用复合赋值运算符 .= 来将另一个字符串添加到已有字符串的末尾:

    $str1 = "hello";
    $str1 .= " world";
    // $str1 现在为 "hello world"
    
    • 1
    • 2
    • 3

    另外,在 PHP 5.6+ 版本中,还可以使用双引号字符串插值来拼接字符串。例如:

    $name = "John";
    echo "My name is $name"; // 输出 "My name is John"
    
    • 1
    • 2

    上述例子中,在字符串中使用变量名 $name 就会自动替换成变量的值。这种方式更简便快捷,使用起来更加方便。

    2.8 全局变量和局部变量

    在 PHP 中,全局变量和局部变量的使用和其他编程语言类似。

    全局变量是定义在函数外部的变量,可以在脚本中的任何位置访问和使用。例如:

    $global_var = "Hello";
    
    function print_global_var(){
        global $global_var;  // 必须使用 global 关键字声明外部变量
        echo $global_var;
    }
    
    print_global_var(); // 输出 "Hello"
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    需要注意的是,在函数中使用全局变量时,必须通过 global 关键字声明变量,否则该变量会被认为是局部变量。

    局部变量是定义在函数内部的变量,只能在该函数范围内访问和使用。例如:

    function print_local_var(){
        $local_var = "World";
        echo $local_var;
    }
    
    print_local_var(); // 输出 "World"
    
    echo $local_var; // 报错:Undefined variable: local_var
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    需要注意的是,局部变量的作用域只限于该函数,函数执行结束后,局部变量的值就会被销毁。而全局变量的作用域则为整个脚本,除非显式销毁变量或脚本执行结束,否则全局变量的值会一直存在。

    因此,在编写 PHP 代码时,应谨慎使用全局变量,以防止意外修改变量值或引起其他问题。而对于需要在多个函数或页面中使用的变量,可以考虑使用常量或 session 变量来实现。

    2.9 关联数组

    PHP的关联数组是一种特殊的数组类型,其中每个元素都有一个关联的键来标识它。在关联数组中,键可以是字符串或整数,而不仅仅是数字。这使得关联数组更灵活,因为您可以使用具有意义的键来组织和访问数据。

    创建关联数组时,需要使用array()函数,并将每个键和对应的值作为参数传递。下面是一个示例:

    $person = array("name" => "John", "age" => 30, "city" => "New York");
    
    • 1

    在上面的示例中,我们创建了一个名为$person的关联数组,其中包含三个元素:name、age和city。每个元素都有一个对应的键,分别为"name"、“age"和"city”。

    要访问关联数组中的元素,可以使用其键作为索引。例如,要输出$person数组中的名称,可以使用以下代码:

    echo $person["name"];
    
    • 1

    这将输出"John",因为"name"键对应的值是"John"。

    您还可以使用foreach循环遍历关联数组中的所有元素。例如,以下代码将遍历$person数组中的所有元素,并输出它们的键和值:

    foreach ($person as $key => $value) {
        echo $key . ": " . $value . "
    "
    ; }
    • 1
    • 2
    • 3

    这将输出以下内容:

    name: John
    age: 30
    city: New York
    
    • 1
    • 2
    • 3

    总的来说,关联数组是PHP中一种非常有用的数据类型,可以让您使用有意义的键来组织和访问数据。

    2.10 unset()

    PHP中的unset()函数用于销毁指定变量,使其不再存在于内存中。当使用unset()函数删除一个变量时,PHP会回收变量的内存空间,从而释放内存并提高程序的性能。

    此外,unset()函数不仅可以用于删除变量,还可以用于删除数组中的元素,例如:

    $fruit = array('apple', 'orange', 'banana');
    
    unset($fruit[1]); // 删除数组中的第二个元素('orange')
    
    print_r($fruit); // 输出:Array([0] => apple [2] => banana)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    需要注意的是,unset()函数只能删除变量本身,而不能删除变量指向的值。如果想要清空变量的值,可以使用赋值为null的方式,例如:

    $name = 'John';
    $name = null; // 清空$name变量的值
    
    • 1
    • 2

    2.11 使用字符串函数获取文件的扩展名

    
    $file_name = "apple.jpg";
    $file_array = explode(".", $file_name);
    $file_ext = end($file_array);
    echo $file_ext;
    // 运行结果:jpg
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    第3章

    1. mysqli_query()函数用于执行MySQL操作语句
    2. 在更新数据时,如果没有指定where条件,则所有记录行都将被更新
    3. 可以在like之前使用not关键字,用来查询与指定通配符不匹配的记录
    4. mysql_query()函数执行“use 数据库名”这条SQL语句可以实现数据库的选择
    5. limit的第一个参数表示的是每次读取的起始位置
    6. 操作MySQL数据库的PDO扩展的文件名是extension=php_pdo_mysql.dll
    7. 使用like模糊搜索时,“%Y%”这样的条件将匹配包含字符“Y”的字符串
    8. 在MySQL中,数据表中的数据条目是从0开始计算的
    9. 在使用insert语句添加数据时,数据的值的顺序需要与数据表中的字段顺序保持一致
    10. 使用limit子句可以实现分页获取数据,它的第一个参数是起始位置
    11. mysql_fetch_assoc()函数从结果集中取得一行作为关联数组
    12. PHP操作MySQL数据库时,需要使用mysqli_query()函数执行SQL语句
    13. select * from itcast_info limit 0,100可以查询出前100条数据
    14. mysqli扩展在默认情况下已经安装好了,在php.ini中开启该扩展的配置项是extension=php_mysqli.dll
    15. PRIMARY KEY可以唯一标识表中的某一条记录
    16. 在MySQL中更新数据时,一条SQL语句可以更新多行数据
    17. mysql_query()函数在执行查询语句时,返回的数据需要使用类似mysqli_fetch_array()等函数获取,并处理后输出
    18. mysql_query()仅对SELECT、SHOW、EXPLAIN或DESCRIBE语句返回一个资源标识符,如果查询执行不正确则返回FALSE
    19. 使用mysqli扩展连接到数据库需要调用mysqli_connect()函数,并判断连接是否成功
    20. SQL语句可以使用ORDER BY关键字实现排序,DESC表示降序排序,ASC表示升序排序
    21. 使用SQL语句可以创建数据表,指定数据表的字段名、类型、主键、自增等信息
    22. 在选择数据库前必须指定字符集,可以使用SET NAMES关键字指定
    23. 使用limit子句可以实现分页获取数据,包括起始位置和每页显示的记录数

    以上是PHP操作MySQL数据库的主要知识点总结。在实际应用中,需要根据不同的需求,灵活运用这些知识点进行开发。

    第4章

    1. output_buffering = 4096表示输出缓冲区大小为4096字节
    2. 使用session_start()函数开启一个会话,并可以在$_SESSION超全局变量中保存会话数据
    3. 超全局变量$_GET$_POST$_SERVER$_COOKIE$_SESSION$_REQUEST等是PHP预定义好的变量,可以在脚本的任何位置使用
    4. session会话ID在客户端和服务器端都保存,用于区别不同的用户
    5. 使用setcookie()函数创建Cookie,可以设置Cookie的名称、值、过期时间、作用域等参数
    6. JavaScript表单验证只能做简单的验证,在服务器端进行表单验证可以保证系统的安全稳定
    7. Session是一种服务器端的技术,它的生命周期从用户访问页面开始,直到关闭浏览器结束
    8. Content-Type字段用于表示实体内容的MIME类型
    9. 可以通过setcookie()函数为保存到Cookie中的SessionID设置HttpOnly属性,使其只能通过HTTP协议访问
    10. 在使用表单时,相同name的单选按钮如果都没有选中,则不会提交该数据
    11. HTTP协议是一种明文传输协议,对于安全性敏感的网站,应使用HTTPS协议进行加密传输
    12. 使用setcookie()函数创建Cookie时必须在其他信息输出前调用,否则会导致程序出错
    13. 可以通过trim()、intval()、strip_tags()、htmlspecialchars()等函数对用户输入数据进行过滤和转换
    14. 可以使用preg_match()函数进行正则表达式匹配
    15. 使用HTTP协议发送响应消息时,可以在响应头中增加Set-Cookie响应头字段来设置Cookie
    16. HTTP协议中常见的状态码有404、200、403、500等
    17. Web服务器可以为每个用户的浏览器创建一个供其独享的Session文件
    18. Session数据保存在服务器端,但是sessionid是保存在客户端的,因此需要通过Cookie来进行传递
    19. 可以使用$_SESSION超全局变量从Session中读取数据
    20. 可以使用HTTP协议中的GET和POST方法来向服务器提交数据,GET方法将数据置于URL中,而POST方法将数据置于请求体中

    以上是PHP会话管理和HTTP协议相关的主要知识点总结,对于实际开发中的应用,需要根据不同的需求灵活运用这些知识点进行开发和维护。

    第5章

    1. 图像处理函数:
    • imagesetpixel(): 用于在图像中绘制一个像素点。
    • imageline(): 用于在图像中绘制一条直线。
    • imagerectangle(): 用于在图像中绘制一个矩形。
    • imageellipse(): 用于在图像中绘制一个椭圆形。
    • imagecreatetruecolor(): 用于创建一个真彩色图像,支持各种颜色。
    • getimagesize(): 用于获取图像的信息,包括宽度、高度和类型等。
    1. 文件操作函数:
    • basename(): 用于获取路径中的文件名部分。
    • pathinfo(): 用于返回文件路径的信息,包括目录名、文件名、文件基本名和扩展名。
    • copy(): 用于复制文件。
    • file(): 将整个文件读入数组中,数组中每个元素为一行数据。
    • fgets(): 用于在打开文件时获取一行数据。
    • file_get_contents(): 将文件全部内容读取到一个字符串中。
    • fgetc(): 在打开文件时获取一个字符。
    • fopen(): 用于打开文件。
    • fclose(): 用于关闭文件。
    • fread(): 用于读取文件内容。
    • fwrite(): 用于写入文件内容。
    • filesize(): 用于获取文件大小。
    • unlink(): 用于删除文件。
    • rmdir(): 用于删除目录,但只能删除空目录。
    • dirname(): 用于返回路径中的目录部分。
    • is_file(): 用于判断文件是否存在。
    • is_dir(): 用于判断目录是否存在。
    • scandir(): 用于获取目录中的文件列表。
    • mkdir(): 用于创建目录。
    1. 文件上传:
    • $_FILES数组:用于获取上传文件的相关信息。
    • move_uploaded_file()函数:用于将上传文件移动到指定位置。
    • enctype属性值设置为multipart/form-data:用于实现文件上传。
    1. HTTP请求方法:
    • GET:用于从服务器获取数据。
    • POST:用于向服务器提交数据。
    1. 超全局数组:
    • $_GET:用于获取由HTTP_GET方式提交至PHP脚本的变量。
    • $_POST:用于获取由HTTP_POST方式提交至PHP脚本的变量。
    • $_REQUEST:用于获取由GET、POST和COOKIE方式提交至PHP脚本的变量。
    • $_FILES:用于获取上传文件的相关信息。
    1. 图片水印:
    • imagecopy(): 用于将一个图像复制到另一个图像上。
    • imagecopymerge(): 用于将一个图像复制到另一个图像上并设置透明度。
    1. 文字水印:
    • imagefttext(): 使用FreeType 2字体将文本写入图像。
    • imagettftext(): 用TrueType字体向图像写入文本。
    1. 文件下载:
    • header()函数:用于设置HTTP响应头。
    • Content-type:用于指定下载文件的MIME类型。
    1. Session技术:
    • 用于验证码的验证。
    1. 文件指针指向:
    • 打开文件时根据打开模式和参数决定。
    1. 文件打开模式:
    • r:只读方式打开,将文件指针指向文件头。
    • r+ :读写方式打开,将文件指针指向文件头。
    • w:写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。
    • w+ :读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。
    • a:写入方式打开,将文件指针指向文件尾。如果文件不存在则尝试创建之。
    • a+ :读写方式打开,将文件指针指向文件尾。如果文件不存在则尝试创建之。

    第6章

    回答每一个问题,如下:

    1. 在PHP的类中,提供了三个访问修饰符 公有 public 、保护protected 、私有private。 答案:对。

    2. 在类中可以使用 self 关键字表示当前的对象。 答案:错。self是在类内调用静态成员的方式。

    3. 在PHP类中可以使用final关键字禁止继承和重写。 答案:对。

    4. 类的继承是指在一个现有类的基础上去构建一个新类,构建出的新类称为子类,现有类称为父类。 答案:对。

    5. 在PHP中,可以通过 abstract 关键字声明抽象类, 抽象类中可以有非抽象方法、成员属性和常量。 答案:对。

    6. spl_autoload_register()可以实现类库的自动加载。 答案:对。

    7. 保证一个类仅有一个实例,这句话描述的是单例模式。 答案:对。

    8. 在PHP语言中,抽象类不能被实例化。 答案:对。

    9. 在子类中重写的方法需要和父类被重写的方法具有相同的方法名、参数,而不仅仅是相同的方法名,如果想要调用父类中被重写的方法,就需要使用parent关键字, parent关键字用于访问父类的成员。由于parent关键字引用的是一个类而不是一个方法,因此需要使用范围解析操作符(::)。子类方法重写父类方法时,访问权限不能小于父类方法的访问权限。 答案:对。

    10. 在创建对象时,如果不需要传递参数,则可以省略类名后面的括号。 答案:对。

    11. 面向对象的三大特征是封装、多态、继承,其中继承的实现非常简单,在编写一个类文件的时候使用extends关键字来继承另一个类即可,可以通过重写来实现多态效果。 答案:对。

    12. 在类中声明的成员变量被称为成员属性,声明的方法被称为成员方法。 答案:对。

    13. 接口不能直接被实例化,即不能使用new关键字创建接口对象。PHP提供implements关键字用于实现接口。 答案:对。

    14. 如果抽象类中所有的成员方法都是抽象的,则可以将这个类定义为接口,其语法格式如下: interface 接口名{ // 成员 常量 // 抽象方法 } 其中,关键字interface用来定义接口。接口中的成员属性只能是使用const修饰的常量,不能是变量,而抽象类中可以定义成员变量。接口中所有的方法都是抽象方法,因此方法名前就不需要使用abstract关键字修饰了。 答案:对。

    15. 这个符号“::”被称为静态访问符,访问静态成员都需要通过这个操作符来完成。 答案:对。

    16. self是在类内调用静态成员的方式,而类名在类内和类外都可以调用。 答案:错。类名在类外可以调用,在类内需要使用self。

    17. 如果一个类继承了某个抽象类,则它必须实现该类的所有抽象方法。 答案:对。

    18. 抽象类不能直接被实例化,即不能使用new关键字创建抽象类对象,必须先继承该抽象类,然后再实例化子类。抽象类中至少要包含一个抽象方法。如果类方法被声明为抽象的,那么其中就不能包括具体的功能实现,即只有声明没有方法体,不能被调用。 答案:对。

    19. 子类在继承父类时,会继承父类的所有公共成员和受保护的成员,而不会继承父类的私有成员。 答案:对。

    20. 类中定义的__construct()表示构造方法,它会在类实例化对象时自动调用,用于初始化类中的成员。在一个对象被销毁时,被自动调用的方法是析构方法__destruct()。 答案:对。

    21. 类与对象的关系就如模具和铸件的关系,类的实例化结果就是对象,而对一类对象的抽象就是类。 答案:对。

    22. 在类中声明静态成员的关键字是static。

    23. 在PHP中,可以创建对象的关键字是 new。

    24. 在类中,属性是通过成员变量实现的,而行为是通过成员函数(又称为方法)实现的。定义类的语法格式:类名【成员变量;成员方法;】。

    25. 对象复制可以通过clone关键字来完成。

    第7章

    PDO (PHP Data Object) 是一种用于访问数据库的扩展,可以统一不同数据库的访问接口,实现代码的可移植性。其核心类是PDO类,使用方式分为面向对象和面向过程两种语法形式。

    PDO的数据源(DSN)包括PDO驱动名、主机名、端口号、数据库名称等信息。PDO处理结果集的方法包括fetch()、fetchColumn()和fetchAll(),其中fetch()方法用于获取下一行数据,需与while配合使用以获取所有数据;fetchColumn()方法以字符串方式返回指定列的值;fetchAll()方法以数组形式返回所有行。

    PDO执行SQL语句有三种方法:exec()方法主要用于没有结果集合返回的操作,如INSERT、UPDATE、DELETE等操作;query()方法主要用于有记录结果返回的操作,特别是SELECT操作;预处理语句可以解决重复分析和编译的问题,提高运行速度。

    PDO错误处理模式包括ERRMODE_ERROR、ERRMODE_SILENT、ERRMODE_WARNING和ERRMODE_EXCEPTION;errorCode()和errorInfo()方法用于检查语句和数据库对象是否有错误。在使用PDO的预处理语句时,bindParam()方法可以将变量参数绑定到占位符上,execute()方法用于执行预处理语句。

    PDO的缺点是维护困难和可移植性差,但其解决了不同数据库扩展的应用程序接口互不兼容的问题。

    重点知识点:PDO的数据源(DSN)、处理结果集的方法、预处理语句、执行SQL语句的三种方法、错误处理模式。

  • 相关阅读:
    资本方介入的第三方新能源充电桩平台到底“香”在哪里?
    MATLAB continue语句
    ThingsBoard IoT Gateway 配置
    JAVA基础(十)
    个股期权、商品期权、股指期权开户攻略(全网最全)
    .Net C# 发送带背景图html邮件(解决Outlook不显示背景图问题)
    目标检测评估指标mAP:从Precision,Recall,到AP50-95【未完待续】
    WINCC趋势画面模板
    [Java反序列化]—Jackson反序列化
    这些Java基础知识,诸佬们都还记得嘛(学习,复习,面试都可)
  • 原文地址:https://blog.csdn.net/okfang616/article/details/130830494