仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 941|回复: 19
打印 上一主题 下一主题

[学习教程] PHP网站制作之PHP中操作MySQL数据库的一些要注重的问...

[复制链接]
再现理想 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-3 23:54:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
多去关于PHP的网站,尤其有很多经典的文章,多读读这些文章显然是有好处的。mysql|数据|数据库|成绩   1. 分号的破例
 关于 MySQL ,第一件你必需切记的是它的每行号令都是用分号 (;) 作为停止的,但……没有完整相对的事,在这儿也是一样,当一行 MySQL 被拔出在 PHP 代码中时,最好把前面的分号省略失落,例如:
mysql_query ("INSERT INTO tablename (first_name, last_name)
VALUES ('$first_name', '$last_name')
");
 这是由于 PHP 也是以分号作为一行的停止的,额定的分号有时会让 PHP 的语法剖析器弄不分明,所以仍是省略失落的好。在这类情形下,固然省略了分号,然而 PHP 在履行 MySQL 号令时会主动的帮你加上的。
 别的还有一个不要加分号的情形。当你想把要字段的竖者分列显示上去,而不是像凡是的那样横着分列时,你可以用 \G 来停止一行 SQL 语句,这时候就用不上分号了,例如:
SELECT * FROM PENPALS WHERE USER_ID = 1\G

2. TEXT、DATE、和 SET 数据类型
 MySQL 数据表的字段必需有界说一个数据类型。这有大约 25 种选择,大局部都是直接了然的,就不多费口舌了。但有几个有需要提一下。
 TEXT 不是一种数据类型,固然能够有些书上是这么说的。它实践上应当是“ LONG VARCHAR ”或“ MEDIUMTEXT ”。
 DATE 数据类型的格局是 YYYY-MM-DD ,好比: 1999-12-08 。你可以很轻易的用 date 函数来失掉这类格局确当前体系工夫:
date("Y-m-d")
 而且,在 DATA 数据类型之间可以作减法,失掉相差的工夫天数:
$age = ($current_date - $birthdate);
 纠合 SET 是一个有效的数据类型,它和列举 ENUM 有点类似,只不外是 SET 可以保留多个值而 ENUM 只能保留一个值罢了。并且, SET 类型最多只可以有 64 个预定的值,而 ENUM 类型却可以处置最多 65,535 个预界说的值。而假如需求有大于 64 个值的纠合,该怎样办呢?这时候就需求界说多个纠合来一同处理这个成绩了。
3. 通配符
 SQL 的通配符有两种:“ * ”和“ % ”。分离用在分歧的情形下。例如:假如你想看到数据库的一切内容,可以像如许来查询:
SELECT * FROM dbname WHERE USER_ID LIKE '%';
 这儿,两个通配符都被用上了。他们暗示不异的意思 ?? 都是用来婚配任何的字符串,然而他们用在分歧的高低文中。“ * ”用来婚配字段名,而“ % ”用来婚配字段值。别的一个不轻易引发注重的中央是“ % ”通配符需求和 LIKE 关头字一同利用。
还有一个通配符,就是下划线“ _ ”,它代表的意思和下面分歧,是用来婚配任何单个的字符的。

4. NOT NULL 和空纪录
 假如用户在没有填任何器材的情形下按了 submit 按钮,会如何呢?假如你的确需求一个值,那末可以用客户端剧本或办事器端剧本来停止数据验证,这一点在后面已说过了。然而,在数据库中倒是答应一些字段被空出来甚么也不填。对此类记载, MySQL 将要为之履行一些工作:
拔出值 NULL ,这是缺省的操作。
假如你在字段界说中为之声了然 NOT NULL (在创立或修正这个字段的时分), MySQL 将把这个字段空出来甚么器材也不填。
关于一个 ENUM 列举类型的字段,假如你为之声了然 NOT NULL , MySQL 将把列举集的第一个值拔出到字段中。也就是说, MySQL 把列举集的第一个值作为这个列举类型的缺省值。
 一个值为 NULL 的记载和一个空记载是有一些区分的。 % 通配符可以婚配空记载,然而却不克不及婚配 NULL 记载。在某些时分,这类区分会形成一些意想不到的效果。就我的经历而言,任何字段都应当声明为 NOT NULL 。如许上面的 SELECT 查询语句就可以够正常运转了:
if (!$CITY) {$CITY = "%";}
$selectresult = mysql_query ("SELECT * FROM dbname
WHERE FIRST_NAME = ' 柳 '
AND LAST_NAME = ' 如风 '
AND CITY LIKE '$CITY'
");
 在第一行中,假如用户没有指定一个 CITY 值,那末就会用通配符 % 来代入 CITY 变量,如许搜刮时就会把任何的 CITY 值都思索出来,乃至包含那些 CITY 字段为空的记载。
 然而假如有一些记载,它的 CITY 字段值是 NULL ,这时候成绩就呈现了。下面的查询是不克不及够找到这些字段的。成绩的一个处理举措可所以如许:
if (!$CITY) {$CITY = "%";}
$selectresult = mysql_query ("SELECT * FROM dbname
WHERE FIRST_NAME = ' 柳 '
AND LAST_NAME = ' 如风 '
AND (CITY LIKE '$CITY' OR CITY IS NULL)
");
 注重在搜刮 NULL 时,必需用“ IS ”关头字,而 LIKE 时不会正常任务的。
 在最初要提到的是,假如你在到场或修正一个新的字段之前,数据库中已有了一些纪录了,这时候新到场的字段在本来的记载中的值,多是 NULL ,也能够为空。这也算是 MySQL 的一个 Bug 吧,所以在这类情形下,利用 SELECT 查询要出格的当心。
要想从事软件开发工作,那么,还有很多的知识要学习,其实,不管是以后想去从事哪个工作,都需要自己去利用空闲的时间去不断的学习新的知识,不断的充实自己。
乐观 该用户已被删除
沙发
发表于 2015-2-4 06:59:53 | 只看该作者
其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎
老尸 该用户已被删除
板凳
发表于 2015-2-5 22:55:45 | 只看该作者
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
柔情似水 该用户已被删除
地板
发表于 2015-2-7 10:01:37 | 只看该作者
至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。
只想知道 该用户已被删除
5#
发表于 2015-2-10 06:30:12 | 只看该作者
首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。
若天明 该用户已被删除
6#
发表于 2015-2-28 23:07:43 | 只看该作者
作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。
爱飞 该用户已被删除
7#
发表于 2015-3-10 10:08:47 | 只看该作者
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
若相依 该用户已被删除
8#
发表于 2015-3-11 18:47:20 | 只看该作者
首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。
小妖女 该用户已被删除
9#
发表于 2015-3-15 22:55:56 | 只看该作者
作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。
兰色精灵 该用户已被删除
10#
发表于 2015-3-22 17:31:55 | 只看该作者
遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。
不帅 该用户已被删除
11#
发表于 2015-3-27 03:08:25 | 只看该作者
学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql
谁可相欹 该用户已被删除
12#
发表于 2015-3-28 23:45:50 | 只看该作者
实践是检验自己会不会的真理。
分手快乐 该用户已被删除
13#
发表于 2015-4-6 21:08:56 | 只看该作者
如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了,
金色的骷髅 该用户已被删除
14#
发表于 2015-4-10 09:58:57 | 只看该作者
不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。
admin 该用户已被删除
15#
发表于 2015-4-16 11:11:12 | 只看该作者
为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。
活着的死人 该用户已被删除
16#
发表于 2015-4-19 10:46:53 | 只看该作者
学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。
第二个灵魂 该用户已被删除
17#
发表于 2015-4-21 13:22:08 | 只看该作者
先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。
再见西城 该用户已被删除
18#
发表于 2015-4-26 02:11:33 | 只看该作者
基础有没有对学习php没有太大区别,关键是兴趣。
深爱那片海 该用户已被删除
19#
发表于 2015-5-4 20:00:47 | 只看该作者
至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。
透明 该用户已被删除
20#
发表于 2015-6-20 07:04:34 | 只看该作者
基础有没有对学习php没有太大区别,关键是兴趣。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 19:05

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表