00:00
好,我们继续来上课,那么这节课我们来了解我们相关的买这个MySQL I相关的函数啊,那么咱们说了,我们第一件事要想用pap操作MYSQ,第一件事干嘛?是不是先要连接数据库,所以我们先来介绍myql I-connect,这是连接数据库,注意在PP里边MySQL I的扩展是有两部分的扩展,一部分是属于函数格式,另外一部分是属于对象啊,属于类,那么现在我们没学过对象,没学过类,所以我们用的都是函数的版本啊好了,那咱们来看MySQL I-connect的连接数据库参数有这么多对吧?其实这些参数都是可选的啊,但是我这里面用户名、地址和密码这三个参数我并没有给你写上可选对吧?也就是说我们在用的时候就自己填上就好了啊好,那咱们来看一下。在这里边我们来新建一个PP文件叫什么呢?MYSQ-mysq I-func.pp好,那么可能大家也知道,在以前呢,老版本里边啊,我们是有另外一套扩展叫做MYSQL扩展,对吧?那么MYS克L扩展在PP5.6版本以后就不支持了啊,就不推荐使用了,推荐使用的是MySQL I,因为MySQL I执行效率更高,也更安全啊。
01:09
然后包括他也执行这种过程化啊,就是不光全都是对象也有这种函数的啊好了,那我们要了解的第一个函数叫做连接数据库。连接。数据库对吧,那么我们用的叫做my I con。Con ne啊,这里边有几个参数有好几个呢,对吧,我们比如说logo post,然后呢,用户名叫做root密码有吗?没有没有我就不写了,看懂了吗?然后他会返回给我一个结果。Dollar link反过一个什么结果呢?咱们来看dump Dollar link。这里边访问的另外一个文件叫做MySQL icon function,这是什么呀?是不返回一个对象对吧?OBG看到了吗?诶,那我们没学过对象啊,但是不要紧,这里面东西我不要求你能看懂,你只能看懂一个东西就可以,就是什么呀,Obgcd知道它返回的是一个对象就可以了,那么这是成功返回的一个对象,你看啊,我root,我用户名叫root,是不是没有密码,如果一旦我给个密码呢?给个密码是不是失败了,当我们失败的时候走你。
02:17
你看失败的时候他会给我报一个错,并且把用户名和地址都会报出来,对不对,然后返回一个布尔兹的boss,没错吧,所以这里边我为了让他不报这个错,我可以给干嘛加一个爱的服,这个时候你看我失败的时候是不是就返回一个boss。对吗?哎,那OK,甚至我可以干嘛,直接给他一个判断,怎么判断,我说买SQI。然后或者或者什么呀,或者结束脚本的执行被带掉,对吧,然后给他提示一句话叫做什么连接数据库失败。失败好了,那现在你看我再来刷新,是不是告诉连接数据库失败诶。我扫了一个怎么样,安的福给删掉了吧,来安的福给他加上来啊。
03:02
啊,你看是不是提示连接数据库失败了,嗨,因为我这里边是不是密码给错了对不对,但是我们尽量不让它报错,也不让他给变成fo对不对,你看啊,我连接库数据库失败以后,我在下面,比如说我给他Apple一行1111,你看有输出吗。是不是没有输出对吧?也就是说当连接数据库都失败的话,我下边的所有代码是不是都没有必要执行了,哎,所以在这块我干嘛,我给他一个对调,结束脚本的执行,那么我用了一个什么语句,是不是用了一个或者呀,拥有了一个,或者是不是就是他如果是为真,那就继续往下执行,如果他为假,哦,是不是走后边这条语句。对不对,哎,那OK,那现在我们连接数据库已经搞定了,那么也看到我们连接成功,它会返回一个对象,对吧,连接失败呢,它会返回boss,好,我把这个一删掉啊好了刷新,OK,这回没有错,没有错,以后咱们说这个函数,不光这两个参数,我还可以干嘛呢?我还可以继续选择我的数据库啊,我直接在这里边就选择了,选择什么呢?我们用的叫做ew CMS,诶选择这个数据库好了,选择完以后再来刷新。
04:09
我们打印是吧,为阿BMP打印Dollar link好好了再来刷新诶。是不是还是一样的,还是返回了一个什么一个对象对不对,那再来看啊,如果数据库名我要打错,比如打个A啊,数据库名看好了,我打个A,我没有这个库对不对,那这个时候我们再来刷新,你看他最后告诉我连接数据库失败对吧?但实际上这块是连接吗?不是吧,我可以干嘛连接或。选择或选择数据库失败。对吧,我直接给他一个提示,那你看现在给他提示是不是连接或选择数据库失败了,诶那么也就是说,如果说我的这个连接或者是选择库失败的时候,都会走到这里边,对吧,当选择数据库失败的话,我是不是也没有必要往下面执行下面所有代码。哎,那OK,我在这里边一步给搞定了啊好了,那么搞定之后,接下来它还有什么,他还有第五个参数对吧?第五个参数什么呀,是它的端口,我们买circle口,默认端口号就是3306对吧,所以我没有必要去更改它来刷新。
05:14
是不是一样的对不对?哎,如果你的数据库端口比如说改了,改成3308了,那么你在这块一定要给它设置3308,我当前默认端口是3306,所以我不需要设置了,好好,这就是咱们第一件事儿连接数据库,以及我们干嘛选择了数据库对吧?那么连接都连接和选择都完事以后,接下来第二件事干嘛,我们是不是要进行设置字符集呀?哎,设置我们这个服务器与客户端之间的这个字符集啊,那么直接用MYS杠叉这个功能来设置,那么它需要有两个参数,第一个参数。也就是由他成功打开数据库返回的这个对象,对吧,你也可以理解为成功打开数据库返回的资源也行啊,那么第一个是返回的这个对象,第二个是什么呀?就是我们设置的字符集名称叫UTM8MB4啊设置了字符集名称,那么一样,它设置成功返回一个处设置失败返回false,但是对于设置字符器而言,成功失败是不是都不会影响我下面代码的执行啊。
06:16
对不对,那OK,现在你再来看我打印的这个R,它告诉我们呀,布尔值的true也代表设置成功了啊,它什么时候会设置失败,除非你这个东西是一个force啊,比如说这里边我ROOT1对吧,那现在你来看我刷新。我看不到了是吧,我给了一个什么,我给了一个day看没看到,哎,给了一个D是不是结束下面下面代码的执行了,好我把这个D先就删掉啊,这个时候你再来看刷新你看。他返回什么,返回了一个none在第七行是吧,那OK在第七行是不是这里头。他根本就没有执行成功,而且他告诉我什么呀,你看他说我的第一个参数To B MySQL I什么意思,就是必须是MySQL I的资源啊,必须是MYSQL返回来这个资源啊,所以这里边这个东西它不是因为什么,因为它是不是在这块连接已经连接失败了。
07:06
你看上一步的操作是不是就已经给我返回一个false了,哎,所以下面我设置了为什么为空啊,所以大家这里面大家记住,如果上面一旦出错,我就必须结束脚本的执行,明白吧,那OK,我给它还原回来啊。好,这句话还原回来,那下面就不会有对我有任何影响了,对不对,哎,那OK,把这个改回来,改成root。好了,那么设置完字符集以后,接下来呢?接下来是不是就要开始准备我的SQL语句了,比如第三步准备。需要操作的SQL语句,那比如说我们先做一个查询啊,到了SQL,到了SQL等于等于什么呢?等于我用了双引号啊,Select星from叫EW-user y,我要查询这个表中所有的数据,注意啊,我用的是什么?用的是查询对不对?好了,那深度语句我在这里边准备好了,接下来注意只是准备好了,我有发送到服务器吗?还没有,所以接下来干嘛,我要发送SQL语句。
08:08
那么发送语句用哪个函数?用的是myq I杠?它里边也需要有两个参数,第一个你要告诉他往哪发,我往link里边发,是不是往这个服务器资源里发呀,哎,那么第二个呢,你要告诉他发什么,发这个circleq,诶发的是这条circleq对不对,好了,发完以后,因为注意啊,我这里面是不是做的查询呢?那OK,这个时候来个结果。啊,来个结果,我们来接收一下,这个时候我们来打印看一下啊,打印到了好。走,你返回了一个什么东西,是不是一个对象看到了吗?哎,那么如果查询失败呢,比如说我这个叫优者A,注意我是不是没有这个表啊好,那现在再来看,走你当失败的时候是不是返回一个。False,也就是说myq I-Q,如果执行成功,返回了一个对象,如果执行失败,返回了什么?返回了false没错吧?那OK,把它先删掉啊,我们先继续看。
09:03
好了,那么这是在做查询里边啊,那我就直接把它写了。V放DP打印一下。咱们来看啊,我返回的这个对象里边有一个东西叫什么呢?叫做number Rose,什么意思?六是不是我查询了六条数据啊,咱们来看啊,比如说我们自己上数据库里面去查MySQL u root p进来,进来,然后use,叫做CM,呃,Ew CS进来以后,我们select星from user,不对,叫ew-user,走你你看好了,我查完这么多数据以后,最后是不是6ROSE。诶,也就是说我在做查询的时候,它会给我返回什么,返回查询到的行数,但是它是在对象里边,我怎么能来获取呢?我们可以通过另外一种方式啊,接下来咱就说了第五步干嘛,我们是不是要判断。并且处理结果对吧?哎,那么判断怎么判断,你看好了,我们需要去借入一个函数啊,叫MySQL I got,呃,Number of Rose。
10:10
Rose它是干嘛的呢?它就是返回这里边的这个行数啊,那来看返回查询到的行数啊,Dollar Rose等于这个,然后我们来打印一下VDP,打印这个Dollar Rose。刷新看我是不是拿到这个六了,哎,那么这个时候我在判断的时候怎么判断,我是不是就可以这么判断,你说如果如果怎么样为真,并且买SQ。MYSQ。I-number-ROSE100C里边把到re,哎,Through LT这里边它的影响行数,这个查询到的行数要是大于零,是不是代表的是有数据。对不对,哎,那么有数据的话,我们要怎么办,我们是不是就要便利数据啊,那好怎么便利呢?注意了这个东西返回的这个re,它是不是一个对象。
11:04
到了result ret,看好了啊,返回的这个它是一个对象,我想从这个对象中获取一条数据,怎么办呢?我可以通过一个函数叫做MYSQI-fet ch-as as SOC,干嘛呢?它就是从这个对象中获取一行作为关联数组返回。获取一行啊,那我们再来打这行,你看一下啊,完蛋打进这个肉。刷新你看是不是拿到了一条数据,你看ID为二,例为一,然后u name叫大熊的,好,我们来看一下啊,我们在这里边直接select星from,呃,不对,叫做ew杠。U的这个表为条件,什么条件是不是就是它的ID等于二啊?好了,你看ID等于二的例为一,它的名字叫大熊,没错吧,这么看看不清,我们来个杠大G。你看ID为265V1user name叫大熊PW是这些。
12:02
好,是不是拿到一行数据,哎,那么他执行一次拿一行,你看好了啊,我再执行一次,是不是又拿下一行啊,现在我是执行了两次对吧,第一次是他再刷新一次,你看是不是又多了一个他对吧,再下一次ID是你ID是四,那你看我这里边的顺序啊,二下面是不是42456781跟三是不是被删掉了。哎,所以这里边再拿拿的是四,那好,那既然是这样的话,我是不是就可以CTRLCCTRLV,这是第三次走,你245是不是还有678678好来。刷新你看啊,5678是不是都拿过来了,哎,这个时候把所有数据都拿过来以后,那接下来呢,接下来呢,你看我再如果再执行一次啊,我又执行了一次,它返回的是什么东西。返回了一个什么,那这不就没有了,那既然他再去拿数据的时候,可以这么重复循环的拿,我是不是就可以干嘛呀,使用will循环。
13:02
对吧,这时候布尔值循环啊,买I杠,Face杠,As SOC,把Dollar re result丢进来,那么丢进来以后,接下来拿到了这个东西,我是不是就可以便利到表格中显示了?哎,好,我们来遍利一下表格啊,这里边既然写到这,我就直接写了build border等于一,然后an等于一个cent,然后这个WDTH等于800。好了,那么有表格以后,我们接下来是不是还可以写表头,那我这里边直接o tr。然后结束的TR,然后在这里。TD结束的TD。好,然后这里有。号用户权限,密码,姓名年龄头像这个这个这个我也不知道都有什么了啊,反正我们就多加两个,加哪个后来我再后来我就补哪个对吧,好了,咱们看里面先进一下啊,编号我们不动了,接下来有用户名。
14:00
用户,然后再一个实名。实姓名,然后还有这个性别。年龄。电话。头像还有什么?哎,咱这吧,还有权限。还有添加时间对吧,好这块叫做权限,然后这块叫做添加时间,好吧,我再给他来一个叫什么呢?叫做操作。哎,你要操作他什么数据对不对,增删改查呀。诶,再来个操作好了,那么现在咱们来看啊,我的页面中是不是已经出现了这么一个表格呀,那么有了这个表格,我是不是要把这个数据当前循环的这一行数据变到表格中,你看我每循环一个Dollar肉,注意我是在循环里打的肉,对吧?每循环这么一个数据是不是就是表格中一行的数据,你看每一个这个数据就是表格中一行的数据,对吧?那么之前我们在去写文件的时候,我们也经常去练习这个效果吧,那OK,直接eo一个TR,然后再来echo一个。
15:04
TR,然后在这里边接下来是什么TD吧。来,我把这个TDCTRLC。CTRV,我其实那个表头不应该用TD应该用才对,对吧,好了这里边编号,那我分割连接是不是就到了肉里边的ID对吧,用户名。分割连接Dollar肉里边的user name真实姓名呢?那分割连接Dollar肉里边的name还有性别,分割连接Dollar肉里边的six以及年龄。到了肉里面的。还有话分连接里的头像,头像正我应该是显示对吧,我们不显示就直接显示名了。到了肉里面的。Le以及添加时间分割,连接Dollar里边的a time好了,那么操作都是操作什么呀?比如说这里边我来一个A标签对吧,这叫什么,这叫删除。
16:07
然后再来A标签,比如这个叫做修改好了就给这两个了啊,那这个时候我们来刷新看一下啊,他说我未定义这个索引ID,嗯。没有定义吗?定义了我的ID是什么?是大写的,我记得ID。好了,刷新完以后,这回咱们看是不是有了真实姓名,为什么没有,因为我这个真实姓名里边本身也是设置的空看没看着,哎,然后six。哦,年龄确实有啊,好了,然后电话我们没有,然后头像是这个权限是这个添加时间我们也没有,都是零,看到了吗?是不是把这个表,把我们数据库里边这个里边所有的数据遍利到我们浏览器上,以表格方式显示出来了,哎,这就是咱们查询数据,那么查询数据这里边你看好了,我们再捋一下整体的思路啊第一件事干嘛,我连接数据库,连接完之后呢,我设置字符集,设置完字符集,我准备查询的SQL语句对不对,包括我可以干嘛,比如说我order by按照怎么样,按照I。
17:12
第一。DEC倒序排序对吧,然后你看这个时候刷新87654321。对不对,哎,当然没有,没有三和一啊,那OK啊,就是设语句跟我们之前学的是一样的,你想怎么写我们怎么写,对吧,写完之后干嘛使用它来做发送,那么它在发送SQL语句的时候。发送查注意啊,发送查询的SQL语句的时候,它会返回一个什么,返回一个对象嘛,那么我们判断它如果为真对吧?对象默认都是真吧,如果为帧,并且MySQL icon number什么意思?就是它这个查询到的行数要大于零行,那我就干嘛,我再进到这里面便利对吧,整个这一段内容我把它。拿下去啊。拿到下面来。拿到。
18:01
这下面来啊,因为注释的这个内容吧。好,那OK,那现在再来刷新,你看是不是就回来了,哎,那好了,包括包括比如说这里边我要想做分页,能不能做是不是也可以了,如果做分页的话,是不是按照之前我们交的分页的那个条件,我直接加limit对吧,比如说定义每页显示三条,那第一页是不是就越过零条显示三条,那现在你看我来刷新是不是876,那第二页的时候呢,是不是越过三条再显示三条,找你是不是542。对吧,那再往下还有了吗?越过六条取三条时候还有数据了吗?应该没有了吧,咱们总共就六条数据吧,哎,那OK。好了,我给它加个零吧,来让它显示三条啊,这就是咱们的查询数据啊,就查查查询数据,然后大家一定要记住,我用MySQL icon que发送一个查询QL语句的时候,它返回的是一个对象,对吧?哎,那么如果我们判断这个对象,对象肯定都是真,所以我就直接写上了,然后我判断这个对象中行数要大于零,代表有数据,有数据我就开始干嘛,开始进行变历啊,变历这个数据好了,然后最后我们都操作完以后,最后干嘛呢?最后的最后我们是不是就完事儿了,对不对?你想数据有的查询论完了是不是就完事了,所以我们需要关闭数据库,关闭数据库用哪个函数呢?买SQLI杠,CS close,你要关闭谁呀?一样我要关闭这个。
19:28
Link,这个Dollar link是谁呢?Dollar link就是由我买SQ icon connect打开数据库成功返回的这个对象啊,所以在这个函数中我们经常会用到这些对象啊,这一系列函数里边,你看我是不是经常都用到,所以大家一定要把它记住啊,好了,这就是咱们的查询啊,那OK,这节课我们到这里。
我来说两句