00:00
好,那我们继续来上课,那么这节课呢,我们来把我们之前所学的增删改查的操作数据库的方式给它进行一个封装啊,封装成什么一个函数版本啊,好了,来这里边我们来创建一个叫做myq model.pp。好,那这里边我们要干嘛呢,将MYSQL操作。不能将啊,叫买车应该将PHP。操作。买circle。MYSQL封装成函数对吧?因为我们说了我们用的地方太多了,那不能每次都去这么写,所以我们干嘛封装成函数。那么封装函数我们要想啊这个功能。我们都需要有什么功能,比如说我们需要添加数据的功能肯定要有吧,添加数据要有对吧,然后呢。修改数据是不是也要有,然后包括查询数据是不是还要有,还有什么,还有这个删除数据。
01:01
删除。数据是不是也要有,这是最基本的这四个对吧,但是呢,这里边我们还可以再分一下。增删改查是不是都是一样的,它会返回什么东西,返回一个影响影响行吧。这里边。给他一个缩进啊,这里边叫什么以下。操作会返回什么,返回影响行对不对,而查询数据呢,是不是会返回查询到的行数。查询数据会返回查询到的行数,没错吧,那OK,把它放到这里,那至少在这里边,在这个函数里边,我是不是就需要这两个功能,有一个功能能帮我完成增删改的,对吧?一个功能帮我完成什么,帮我完成查询的,那光这么多吗?也不是吧。
02:06
哎,我们是不还可以干嘛,可以查询单条数据,比如说你像我们做这个。叫什么这个修改的时候,不这个修改对一点修改,我是不是就需要查询这一条数据。对不对,哎,这是一个,然后还有什么呢?还有比如说我们在做分页的时候,分页我是不是就需要统计我有多少条数据,对吧,我要有知道有多少条数据,然后我知道每页显示多少条,我是不是就能求出总页数啊,哎,所以我这里边再来加两个功能啊。叫做什么呢?叫做。统计有多少条数据的功能,对吧,还要什么呀,还要有一个叫做。查询。单条数据的功能,OK,我有这四个功能就够了,这是一个功能,这是一个功能,这是一个功能,对不对?哎,这是两个功能啊,这分别是两个啊,所以说我们来先来封装一下啊,咱们来看我们这里边无论做任何操作,就我准备任何样式的语句,最终都离不开干嘛连接数据库吧,对不对,连接数据库设置字符集,这是不是最必要的,哎,所以这里边我来定义一个函数,比如说教你们呢,叫做MYSQL。
03:21
Model。好了,然后这里边来个括号,OK,在我定义这个函数以后,接下来在这里面有一个什么呢?有一个函数可以帮我们干嘛执行。连接数据库的功能。对吧?哎,我们需要有一个函数帮我们执行连接数据库的功能,还有需要干嘛,还需要一个函数帮我们执行增删改。的功能,因为这些是不是都是一类对吧,然后还需要什么,还需要一个函数帮我们帮我们干嘛呀,执行查询的功能,查询。
04:00
帮我们执行查询数据的功能,对吧,还需要什么呢?还需要一个函数帮我们统计数据有多少条的。功能对吧,以及还要干嘛呀,还需要一个函数帮我们查询单条数据的。功能,那有的人说那单条跟这个查询多条的不是可以一起用的,确实是可以一起用啊,但这里边我们给他做一个划分,这里边查询这个数据的功能呢,我们是返回到二维数组。二维数组,而这里面呢,我们是干嘛呢?返回到一维数组,返回了一维数组。啊,就这么一个区别,就这么一个区别啊好了,那咱们来看,最后不管做所有的操作,我还需要干嘛,是不还需要。关闭数据库啊。关闭数据库对不对?哎,那OK,那不管怎么样,我们先来去连接,咱们来看啊,我现在定义这么一个Dollar link这个变量,这个变量在以下所有函数中,在这下边所有函数中是不是都能用到。
05:07
对吧,所以在这里边我UC方式con。S construct,我定义这么样一个函数,这个函数来干嘛呢?就是来帮我。来执行什么执行连接数据库的,那连接数据库到link,等于MYSQLI杠,Con connect,这里边是不是要放东西了,放什么东西?放的是我数据库的这些地址啊名啊,对吧,用户名密码呀,是不是这些信息,哎,那这些信息我说了,我们完全可以用一个常量对吧,所以这里边com改PP,这叫什么数据库。配置文件。好,然后这里边DeFi我们来定义一下,比如说有什么呢?有host等于local host后来后期我是不是就改这一个文件就行了,哎,还有什么呢?还有这个,比如说user user等于root啊,然后再来def defend叫做PWD。
06:06
啊,等于一个空,然后de。然后还有什么,还有DB内。等于我们要操作的是什么ew CS,然后再往后fun还有什么字符集吧叉。Set等于UTF8MB4,哎,这些东西我都设置一次是不是就可以了,哎,好了,那么设置完这些以后,接下来。我在这里边,我因为我要用它,对不对,所以我需要干嘛呀,需要去包含in includede,包含谁,当前目录有一个config.PP对吧,包含过来它以后,我是不是就可以直接常量常量post的对吧,常量user,然后还有常量PWD以及DB name。没错吧,哎,然后这里边一样,如果执行失败的话,我是不是就直接。
07:01
Re return一个什么,Return一个false是不是就可以了,这个函数是不是相当于停止了,哎,或者我不return啊,我直接干嘛呢?我给它还是做赋值,如果执行失败我就哦。一个。对调吧,那就还是对调吧啊,连接或者选择数据库失败啊,我还是不变代码对调对吧,那现在咱们来看啊,比如说我来调用这个函数叫做什么呢?叫做cont ru调用它,调用它以后是不是我就注意啊,这个时候我有个问题呢,我需要干嘛?我是不是要打印这个link,但是这个link是不是在这儿呢?我如果这么打印为阿康do MP。打印这个link看好了啊。如果我打印link的时候,这个时候咱们来看它会出现什么样的结果,来这里边。买model。为什么没有反应呢?因为我没有调用它,对不对,来调用一下啊。
08:05
刷机。告什么,那这个那本身也是我自己定义的,对不对,那现在你看我在负函数里边有一个变量,我在子函数里边还需要用到这个负函数的变量怎么办。是不是就没办法了?对不对,哎,那有人说,那你就不要这样了,我可以怎么办,我是不是可以最后瑞return谁瑞这个link,那瑞这个link这个时候他是不是就可以接收了。对吧,接收了,这时候我再打印那个,你看是不是就有了。没错吧,那问题来了,什么问题呢?你看啊,我在这里边所有的操作需不需要用到这个link,需要吧,那也就是说,比如说啊,在这里边function。我们来执行什么呢?执行这个。DML。比如这个DML操作啊,比如说我在执行这个的时候,无论是执行增删改。我是不是都需要这个link的帮忙,那是不是就需要在这里边,我需要调用一次这个函数。
09:02
对吗?然后再来看我在做查询的时候,比如说func function select,我在查询的时候是不是还需要这个功能,我是不是还要在这再调用一次呢?没错吧,哎,因为只有调用它是不是才能返回这个结果,那每次执行我是不是都调用一次啊。哎,所以这样的话,是不是它就调用的次数就比较多了,那没有必要,那怎么办?我就调用一次就好了啊调用一次就好了,只要是你调用了我外形的函数,那么我就调用它对吧,调用它就把这个立和变量能做负值,所以我才把它的负类给它定义了这么一个变量。看到了吗?但是呢,现在是不是我子类想用父类的变量啊。哎,那这时候怎么办,这个时候我是不是就需要用到我们之前所学的叫什么闭包函数啊。还记得吗?B包函数的特征是不是就是子类使用父类的变量,这个负类的变量是不是就相当于给它做一个搭桥啊?哎,所以在这里边我干嘛看好了啊。B方函数是不是建立在匿名函数的基础上,也就是不能有名字,这是第一点对吧?所以我需要给它倒了。
10:06
Construct,我给它定义成一个变量,然后给他一个结束的分号好了,然后最后我们通过use使用,使用谁啊,使用这个link对吗?诶。不。行。不行。不行啊,为什么说不行啊,咱们来看啊,我这么不能这么写,我用一我用B包函数没问题啊,因为这个link我是不是使用负类的这个link变量,我确实能给它赋值,但是赋值了,注意它只是在它的里边在使用,我在外边打印的这个link还是不好使。你看我调用了未定义的函数第24行,哦,这里边不能去这么去做了啊,我先给它注释掉啊,我要怎么办,我是不是到了construct括号这么来调用,哎,调用完以后这回再来刷新,你看是不是还得呢?
11:00
哎,因为在只是在这里边这个link才有值啊,所以它我不这么改了。依然是一个正常的函数,注意啊,这个依然是一个正常的函数啊,它这么设置完以后,最后我是不是返回了这个link,好我就返回,返回完给这个Dollar link了,看到了吗?我是在负函数里边,是不是直接改了这个link,现在我打印link,你看可不可以啊。没问题吧,哎,那OK,剩下所有的子函数我都干嘛呢?都使用B包的形式来实现,都使用B包的形式,注意啊,所有的子函数我都使用B包的形式来来实现啊,负函数这里边。不是负函数,第一个这个函数我还是用正常结构对吧,当一调用它可以把这个link帮我们返回出来,返回出来我是不是就做了一个赋值操作对吧?也就是说将。连接数据库的结果赋值给谁呀?赋值给负极的。
12:09
变量,负极的变量好了,那给完负极的变量,接下来比如说我DL是不是执行增删改,那我有什么要求呢?第一个要求你要给我的你的SQL语句,SQL你只要给我SQL语句就行了,你不管执行什么样的SQL语句,我在这里边,总之给你执行就好了,对不对?哎,SQL语句现在我不能去教大家拼接啊,是可能有基础人知道我们可以有更简单的方式,但是这个阶段我们需要去练习S课语句,所以你直接你要是做什么操作,你就把S语句给我丢进来,丢进来以后注意它由于是个匿名函数啊,所以我需要刀了。BML。这是一个匿名,那么在这里边我要执行的什么MYSQI杠,Que que,对吧?然后填的是填的数是谁,这个要的数是不是就是这个link我需要了,所以在这里边干嘛呢?我use选择选择谁选择这个Dollar link,诶选到父类里边,选到子类里边,然后把link丢进来,把Dollar circle丢进来,对吧?那么咱们会得到什么对应的结果,有了这个结果以后。
13:16
因为我做的是增删改的操作,对不对,所以这里边我直接来判断,如果到了绕为真,并且什么呀,MYSI-A。F TD Rose把Dollar link丢进来,如果它的营养行大于零,大于零是干嘛?我是不是就返回它的这个结果,对不对,我就什么呢?这个叫做。MYQ。看好了啊,叫MYQ。I杠。呃,Insert-ID,注意我在插入操作的时候,因为现在我不确定它到底是增还是三还是改,对不对,但是在如果是在真的操作的时候,是不是一定有个ID,所以我来判断,如果有这个ID到另一个,如果有这个ID干嘛,我就让你返回这个ID。
14:09
返回这个ID对吧,如果没有呢,那我干嘛呢,我就返回影响行。买CQI-AT-Rose把Dollar link丢进来,哎,有ID返回ID对吧,这里边叫如果是插入操作操作则会有什么呀,有ID的出现,则返回ID,如果没有。如果没有。执行插入操作则返回影响行。能理解吧,那OK,这是一个什么?这是一个匿名函数对不对?哎,那OK,这是一个变量函数啊,变量函数也是匿名函数对吧?因为我把这个函数复制给了这个变量,好了,那接下来我怎么用啊,我是不是得做一个插入来试一试对不对?好了,咱们来看啊,在这里边。
15:04
我调用它没问题,接下来只要一调用它,我的这个叫Dollar Dollar什么Dollar d ML这个函数是不是就有了,这个函数有了,你需要往里边给我传一个circle对吧?我这块定义一个circle叫什么呢?叫做,诶你错了啊。Insert into哪个表呢,叫ew杠,User这个表,然后它哪个字段,比如说我就来一个username吧,啊,再来个PWD。PWD好了,然后values这里边我就给一个。AAA3个A,再来一个AAA3个三个A,好了,这条语句我准备好了,现在我执行了插入,插入是不是咱说了他会给我返回一个ID号,那OK,我用int来接收,然后我们来打印啊。高了,In,现在我们来看可不可以啊,这里边我们来刷新告诉我,诶,他说安的y able d ML没有被定义在我的第17行,你看好了,在我的第17行确实是在这儿,对不对?
16:01
哎,因为什么,因为我这个DML,它是不是一个局部变量啊。看到了吗?哎,它是一个局部变量,并不是一个全局变量,所以在这里边我需要怎么办呢?我需要在这里边g lo格卜。Gal。Global声明一个什么声明一个Dollar dml,好了,这个时候DM是不是就全局的了,哎,那我在外部调用DML是不是可以了,那好,这回来看。刷新。返回一个什么,返回一个nu在第18行,返回一个nu,第18行在这里边,我这个in的是不是为nu,哎,我没有返回值吗?走到这里边来看好了,我return这个,否则。Return一个怎么样,Return一个false fair也就是失败了,对吧,那现在再来看刷新是不是备案布尔斯的false也就代表了走到这里没有走到这里边吧,哎,那就要去排错了,我们就要去看看为什么是这样,那OK,我们先输出一个S语句啊,来在这里边打印我们的SL语句,我们来看一下,然后e sit。
17:11
走,你。看语句在这里边有没有问题,CTRLC拿到我们的这里边,CTRLV。重新复制一下啊。刷新。粘贴。走,你。你看是不是报错了,你有一个语句有错呀,我叫什么叫insert into。Into。在这个user下面,然后你看ew user,我给的是username p WD,我是不是加上引号了。来看一下我的SQL语句啊,是不是加上引号了,这里面能加引号吗?要加也得加什么,加反引号,而不是加单引号吧?哎,好了,现在我们再来看中医。
18:01
没有把这个注释掉吧。来把这个输出语句这块我注册掉了啊,再来周尼告诉我什么15,我插入了新数据的ID,是不是15来在这里边刷新看一下15AA对不对。哎,那OK,这是做什么做添加他能给我返回的这个东西。好了,那么咱们再来,如果我做删除呢?删除返回来是不是就影响行了。所以Dollar等于。De,来delete from ew-user where条件什么条件是吧?ID等于15,是不是刚才我添加的那个,哎,然后再来还是执行这个,这个时候我们再来看啊,哎刷新一下,哎不是这个页面啊,这个页面刷新一下返回什么?返回一是不是这个是不是就影响行四营养行这个时候来15刷新这里边你看15是不是就没有了。看到了吗?哎,那我增三改就不用演示了吧,他俩是不是一样,因为三跟改都会有影响行,添加的时候也会有影响行,但是添加的时候是不是也有个上一步的ID,所以我返回上一步操作的ID。
19:05
看到了吧,哎,那OK,好了,那这一步我们搞定了,我就把它注释掉了。OK,那么接下来我们再往下来啊,声明这个是声明全局变量对吧?声明全局变量对吧,让数数部可以直接使用什么呀,数名这个变量。调用该函数没错吧?那OK,把它缩小,那么他完事以后,接下来查询是不是也是这样的,那查询我就定一个Dollar select等于什么呢?等于这个function,这里还是一样,然后。Use选择选择什么呀,选择我link的这个变量吧,选择link这个变量以后,接下来进里边还是一样买SQLI。分号给好啊,别报错买数I-QEQ,把Dollar link个丢进来,把Dollar SQL丢进来对吧,然后呢,注意查询的时候是不是返回的什么呀,返回的这个查询到了结果集,那是不是就如果到了re result为真。
20:10
然后呢?并且I杠把里也就查询到的数零的时候,那OK,这个时候我是不是就把数据给它返回出来对吧?那这里边比如我定义一个Dollar r等于。A等于一个什么数组对吧?然后呢,Will循环Dollar肉等于买QI-fe ch-ass。OC,好了,把谁里边把这个Dollar re绕里边,每次拿一行数据复制给dollarr。看到了吗?哎,复制完以后接下来干嘛,我在这块是不是就什么一个Dollar a。对吧,或者是什么,我直接在if的外边一个。
21:02
退一个do r对吧?那么如果成功的话,到R是一个二维数组,如果失败的话,那AR是什么?是不是就是一个空数组啊?对不对,哎,那OK,那么同样我为了让外部能调用,叫做我还要去保留这个select。声明select一个关键字对吧,哎,声明这个全局变量select,那么声明完这个全局变量以后,咱们来看我在外部查询能不能用了啊。来不用的函数,我们就给它收收起来啊。调用它了,调用它以后来这回我们干嘛测试这个select。查询操作。查询操作对吧?那Dollar SQL等于等于什么呢?等于这个select星from ew-user,然后在这里边开始进行调用Dollar s secret select中括号,把Dollar circle里边扔里边以后,它会给我返回一个二维的数组,然后我们来打印VR放Du。
22:08
打印。走,你你看拿没拿到二维数组啊,拿到了吧,拿到二维数组,接下来我这个便历的表格显示就行了,对不对,哎,那OK,把它再注释掉,不用了,好了,测试这个也完事了,接下来有什么这个帮我统计有多少条的功能啊,那也一样,我来个function TTL,诶错了。叫Dollar tutl TTL等于func function,然后还是一样括号,把Dollar circle丢丢里边use Dollar link,然后再来,那这里边是不是还是需要买circle my SQ Li杠呃,Q。发送。对吧,发送什么呢?发送这个Dollar SQL语句,你要统计条数,你是不是得告诉我这个条这个。呃,查询的数据啊,对不对,或者说什么你要统计条数,好,你不要给我circle了,你就给我你的这个什么呀,Cable name,你要统计哪个表,你告诉我表就行了,你告诉我表,我是不是在这里边自己来拼接语句,对吧,制作这个查询。
23:17
条数查询条数的SQL语句对吗?哎,制作查询条数的SQL语句啊。那其实制作常用条数的SQR语句其实也不对,因为我这里边没拼接啊,那我们还是给他circleq吧啊,因为这里面咱们没拼接啊,所以自己我们必须要给他这个SQL语句才行啊,那就Dollar SQL好了,然后一样我来这里边发送Dollar link里边发送Dollar SQL,然后这里边这个结果,那么有了这个结果以后,接下来怎办?我们要询,首先我们询的生入语句是什么样,我们得先知道对不对,Dollar SQL等于等于什么select。比如说我count count什么呢?比如说我count个ID,哎,我就查他,然后from ew杠。
24:07
对吧,然后甚至我后面可以给什么where条件对吧,ID的条件对吧,Order条件是不是都可以啊,哎,那比如说就给这么一个啊count ID,我一发送count ID以后。这里边我是不是拿到了这么一个结果,拿到这么一个结果,接下来我怎么样能从这个结果中获取到这个条数呢?啊,怎么样能从结果中获取到条数呢?咱们来看啊,我来这里边VRVR-dup打印一下Dollar你看好了啊,我这里边依然是执行的查询条数的语句,对不对,我们先调用一下啊,来我把这个东西声明一个全局的。叫做G。BL到了totl,好,说明一个全局的以后,这个时候我在它的web是不是就可以调用了,那到了totl中,括号把C丢里边,把到SQL丢里边,我就写的有点超纲了是吧,应该放到下边啊,好了,那这个时候我们来看啊。
25:03
测试查询总条数。刷新,你看这里边有没有查询条数,Number Rose,有个一查询一到一条吗?Count ID from,不能吧。怎么也不可能是一条啊。粘贴一下走你多少条,是不是十条,哎,所以最终你看我是不是可以用什么可以用这个家伙。查询里的这个家伙是不是就能返回到我查询到的行数,哎,所以在这里边最终返回的是返回的是它啊,所以这里面我直接来判断如果,如果什么呀,如果到了result为真,并且买SI杠,Number杠。Rose。谁Dollar re result大于零是不是阴函数大于零?那我就re什么呀?查询到的行数MYSQ。
26:04
I-number。杠,Rose把Dollar re丢进去,返回什么?是不是返回查询到的行数?哎,那OK,那否则呢,否则一个零呗。否则我退一个零好了,那现在咱们来看我查询有多少条是不是就搞定了,那这个时候我们再来测试一下啊,看一下查询有多少条,它会返回我的Dollar t吧。条数。V-do打印T。一条还真就查询一条。Select ID from。Ew-user,然后到了tutl。到了to我们看一眼啊,为什么他会给我返回一个一条呢?呃,Tu丢里里。
27:03
等于这个结果,然后判断,如果结果为真,这个这个怎么可能给我出现一条呢。来在这里边为了测试我输出一个。刷新一下。那这块是十条以后。组织料啊。买车I。杠。VRMP,我们来打印它。过来。刷新。70行27行是那因为27是,那是因为我没返回对吧?哎,70行这里边,你看70行这里边确实给我返回了一个一。
28:03
看懂了吗?返回一个一是什么原因呢。因为。Select ID from e杠,User,它能给我返回一个一,返回一个一,我在上一行的操作这里边。Select function里边的操作不会影响到这里边。哎,他怎么会给我返回一个一呢?那我执行的不是这个吗。执行的也对呀。
29:00
那怎么会给我返回一个一呢?我把我们把这个注释掉啊,它确实是给我返回了一个一个一,哎,为什么会返回一个一,我们看一下啊,我把这里面多添一个字母填错了啊,填错了看他返回什么东西啊,等你。返回一个什么零吧。诶,那就对了,那这回再返回回来啊,再来刷新。Now。瓦T啊,问档对啊,瓦达T27行,27行访问档,对啊,这回还是一七十二行对吧,还是啊。我这块什么count ID了,哎,我不需要看ID,我直接给个星就好了啊,我count ID可不就统计一个字段什么的,所以他给我返回一个一。我统计星,我还是正常查询数据对吧,因为我从查询数据中返回行数嘛,这是不是从查询数据中返回的行数,哎,这个时候我们再来。刷新是不是十了,哎,这个才对,那OK,把它注释掉啊,注释掉以后,接下来我们还是re return谁呀?Ret return这个买SI-number Rose买刀了丢进去,好,那现在我们来看。
30:15
中尼是不是返回一个十,哎,整形的十,那这是我调用什么调用的这个总条数帮我们返回的,好了,那总条数也OK了,那我把它注释掉,把它缩小,接下来干嘛。是不是还需要查询单条的,那么查询单条的在这里边我们继续叫做,比如说叫做Dollar get吧,啊Dollar get等于UC function,然后一样,这里边你需要给我传一个,然后use,我还要选择这个link,对吧,然后呢,在这里边继续买I杠。把Dollar link丢进来,然后Dollar丢进来好了,丢进来以后它会返回这么一个结果。注意这个时候啊,我查询的是不是一个单条啊,对不对,诶查询单条我们就给单条的语句,那么查询到单条以后,接下来呢,我是不是要获取这个数据了,那直接我还是判断一下,如果re绕的为真,并且它的行数对吧,查询到的行数还要大于零,也就是有数据的时候干呢,我直接把这个数返回,怎么返回。
31:24
杠f fet ch,杠as SOC,注意查询单条,这里面是不是就一个,所以我是不是直接获取这一行做关联数组返回,直接返回就行了,哎,否则失败呢,我就退一个空的a ay是不是就可以了。对不对,哎,那么一样,这里边我还需要L来获取这个。函数对吧,好了,那接下来这个也完事了,完事以后咱们再来看,我再来测试一下啊,比如说我要查询单条了,单条我们经常会给他ID什么的,对不对。来把它删掉啊,这里边叫做。
32:03
测试单挑。单条数据啊,那Dollar SQL等于叫做。Select星from e w-U着这个表where条件ID等于一,这是不是单条,哎,咱没有一对吧,我我看我看看ID有几啊。ID有13啊来ID等于13。好了,拿到它以后,那么接下来我Dollar get等于什么呀?等把这个Dollar丢进去,然后它会返回给我一个。结果,然后我们来看这个结果啊。VRDOP打印Dollar result,好。这回再来这里边刷新,你看我是不是就返回了一个一维数组,对吧?哎,这里边是不是就单条的一个单一数据,哎,那OK,那现在咱们来看我给的封装的函数是不是就好了,剩下什么呀,就是我需要我在哪个页面需要用,我是不是就包含到哪个页面去就可以了,包括这里边的科录的,我也可以拿出来,不要放到函数里边,对不对,哎,放到这个页面中,这不就可以了,你看好了,现在影响我的使用吗?
33:11
是不是也没问题,也不影响,哎,然后还有什么,还有这个鹅鹅鹅鹅鹅。不是不影响是不清,影响不影响还不小啊,是吧,你看好了use of是不是高尔倍定性的常量?哎,都是未定义常量啊,那OK,那不行啊,我还得给它拿进来,拿进来啊,那还是给他拿进来吧,拿到这个位置来啊,不要拿出去。OK,这回没问题了,对吧,这回再刷新不报错了,然后这里因为这里面的这个我打我打印就给关掉了嘛,那一打开不就是有这个数据了嘛,对不对,哎,那OK,把它继续关掉啊好了,那这个就放到这里了,放到这里,这里边有个叫做什么叫做包含包含数据库配置文件啊,这块我们就得记住了,好了,那他完事以后,接下来还剩最后一件事干嘛,是不是要关闭数据库啊。对吧,那关闭数据库是不是我做这里面做完任何操作都需要关闭,所以在这里边我们去找,比如说在这一块我return了,它return之前我是不是就得关闭瑞return falsex之前我是不是也得关闭,对吧?我不能在最后关闭,为什么?因为走到return以后,这个函数就结束执行了吧?哎,所以在这里边我们开始进行关闭数据库。
34:20
关闭数据库啊,叫做myq I-C子把C进去,把Dollar link扔进去对吧,否则在这里边买SQI。My circle。哎。哟哟哟哟。我在这块如果关闭完数据就了。那我。完以后。怎么办?这回是不是就得赋值一个变量了?比如ID等于MY。
35:00
I。杠insert-ID对吧,Link丢来ID了对吧,然后还有什么呢?还有这个,比如这个行。TD。就等于MYI-link对接下那个。关闭数据库啊,关闭数据库。My circle I-c close把把Dollar link关闭,那这块我还需要写它了吗?不需要写了吧,直接把它都删掉,写的是谁呀?是不是就是瑞return Dollar ID。对吧,然后问号问号如果ID不存在,我就return谁啊a f fe TD是不是就也一样啊,哎,那OK,咱们来看一下啊,我们之前咱就说做删除啊。这个音色的删除,删除语句这里面有吧,来把删除了打开啊。啊,删除打开我们来看删除数据的时候,是不是返回一个这个ID等于15的是肯定不行了啊,是不是返回阴行啊。
36:07
来ID等于十几的,等于七的,把七的删掉了,等于五的吧,把五的删掉啊,这回咱们来看。ID等于五。来看能不能返回行走。你。一行为零,那五有没有删掉,五有删掉啊。哎,那还不行哦。影响行为零。来我在他后面输出啊,输出A,然后再来ID,我们先输出看一下啊,然后给就不让了,对吧?哎,好了,我们看我关闭这个link以后,因为他们两个都复制给变量了,我再关闭应该没有影响了,对不对,那OK,我们先来看一下,看好不好使啊。那这里边我就别删除了,我在添加一条数据吧。来添加把这个注释掉啊,删除的注释掉,好现在我们来回头来刷新。
37:00
有了吧,哎,添加多少是一个是一一是六还是一个是啊,一个是一,一个是16吧,你看啊,我这里面打印了两个。对吧,因为好像是1ID是不是16没问题吧。哎,你看啊,这里边再来刷新一下ID16是不是对的阴阳师一,那OK,这没问题了,那没问题以后接下来呢,接下来我再来的是如果做删除的话啊。把它再注释掉,把它再开起来删除的话,就会删除多少,删除16。删除16啊,再来刷新。返回一个一一个零看到了吗?哎,我没有ID号,是不是就返回零了,那OK哦。我知道为什么了。它是不是ID本来设置也为零,它是不是把零给我返回了。对不对,哎,所以这里边我应该什么,应该是呃,EPDMK。零转换成布尔值是不是为空啊对吧?取反不为空的时候我在干嘛呢?返回Dollar ID对吧,否则我返回。
38:08
啊好了,那这么样去判断去啊,因为每次设置零赋值零也是对的,对不对,哎,我这块去赋值,那人得到个零赋值,它也是对的,所以我这干嘛,我用它来判断好了,那接下来我们再来看把这几个注册掉啊。再来执行一次啊,现在我们这个刷新一下,你看啊,16没有了,我再插入肯定是17对不对,来返回来找到我上面的代码。把它注册掉,执行插入,执行插入啊来刷新是不是拿到17,哎,那OK 17有了,接下来要干嘛,我再删除,删除谁呀,删除17的好。是不是为一这回是不是对了,哎,那OK,这个搞定,把它这回再注释掉了,不要了,标要了以后再往下来看,它的关闭都没问题了,对吧,那瑞特如果为boss的时候,我是不是也关闭啊。
39:00
在他之前买。给它关闭掉,关闭掉啊好了,然后再往下来这个就完事了,对吧,完事完以后select呢,Select呢,那我这里在在瑞return之前是不是CL。MYMY。杠C把刀立刻丢进来关闭对吧,那OK,它不需要去做了,然后还有这个。总数了,查询总数的,我是不是在这个之前进行关闭啊,那就是买SQL。I杠。CC关闭Dollar link关闭对吧,否则呢,之前我也要给它关闭对吧,那查询这是查询总数了吧,那我们看看查询总数的好不好使啊,我们也这样测试一下来这次查询总数打开,现在我们来刷新走你九条九条数据对吗?
40:01
刷新一下123456789,没错吧,哎,九条数据,那好他也完美,它完美以后接下来再来还有谁,还有最后的这个get对吧,Get以后,那就是在瑞之前我还是需要买circle I-c close,把Dollar link丢进来对吧?然后包括跟空数组之前,我还是需要这样,然后把Dollar link丢进来好了,那最后我关闭数据库是不是就搞定了,搞定以后接下来咱们再来看我查询单条的可不可以啊。单条数据是不是还有啊,哎,那OK,没问题,注释掉好了,那这就是我们这个叫什么,我封装的函数,但是注意我用的这种全局变量是不是很容易重名啊,比如说我定一个title是不是很容易啊,所以所有的这里面的变量我都加一个什么呢?比如dml model。然后。Model,然后model以及get。
41:01
Model,哎,主要是我为了要外面不重名,因为主要是我在函数内部声明变量,我是不是外部,注意我外部只要是有一个跟他同名的变量,就能就是调用里面的东西呢,比如说我外部有一个这个叫做什么get model是不是调用里面的东西。明白吧,哎,所以说我一定要把它这个变量设置的不重名一些啊,那这里面调用的都是Dollar model对吧,这里面title model以及select model,还有d ML model。Model,哎,那OK,我都改为正确了啊好了,那就是咱们这个给它封装好的函数,而且里边我也尽量结合了我们这个叫什么必包函数啊,让大家进行一次练习,好,那这节课我们到这里。
我来说两句