仓酷云

标题: PHP网页编程之在PHP中操作MySQL要注重哪些成绩? [打印本页]

作者: 冷月葬花魂    时间: 2015-2-4 00:08
标题: PHP网页编程之在PHP中操作MySQL要注重哪些成绩?
看到好的帖子最好up一下,以使得更多的人得到分享。    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 数据类型
  TEXT 不是一种数据类型,应当是" LONG VARCHAR "或" MEDIUMTEXT "。
  DATE 数据类型的格局是 YYYY-MM-DD ,好比: 2001-10-01 。你可以很轻易的用 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 = ' Bill '
  AND LAST_NAME = ' Gates '
  AND CITY LIKE '$CITY'
  ");  
  在第一行中,假如用户没有指定一个 CITY 值,那末就会用通配符 % 来代入 CITY 变量,如许搜刮时就会把任何的 CITY 值都思索出来,乃至包含那些 CITY 字段为空的记载。
  然而假如有一些记载,它的 CITY 字段值是 NULL ,这时候成绩就呈现了。下面的查询是不克不及够找到这些字段的。成绩的一个处理举措可所以如许:
  if (!$CITY) {$CITY = "%";}
  $selectresult = mysql_query ("SELECT * FROM dbname
  WHERE FIRST_NAME = ' Bill '
  AND LAST_NAME = ' Gates '
  AND (CITY LIKE '$CITY' OR CITY IS NULL)
  ");  
  注重在搜刮 NULL 时,必需用" IS "关头字,而 LIKE 时不会正常任务的。
  在最初要提到的是,假如你在到场或修正一个新的字段之前,数据库中已有了一些纪录了,这时候新到场的字段在本来的记载中的值,多是 NULL ,也能够为空,在这类情形下,利用 SELECT 查询要出格的当心。

学习如何将PHP与HTML结合起来完成简单动态页面
作者: 只想知道    时间: 2015-2-4 09:21
爱上php,他也会爱上你。
作者: 小女巫    时间: 2015-2-9 21:15
最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。
作者: 蒙在股里    时间: 2015-2-10 04:36
如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了,
作者: 莫相离    时间: 2015-2-23 06:40
写js我最烦的就是 ie 和 firefox下同样的代码 结果显示的结果千差万别,还是就是最好不要用遨游去调试,因为有时候遨游是禁用js的,有可能代码是争取结果被遨游折腾的认为是代码写错。
作者: 柔情似水    时间: 2015-3-7 05:50
学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql
作者: 简单生活    时间: 2015-3-14 11:34
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
作者: 谁可相欹    时间: 2015-3-21 04:49
最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。
作者: 老尸    时间: 2015-3-25 20:27
首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。
作者: 活着的死人    时间: 2015-4-7 01:36
个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。
作者: 飘灵儿    时间: 2015-4-17 10:15
曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线  \\\\\\\'_\\\\\\\' ;
作者: 飘飘悠悠    时间: 2015-5-4 06:38
实践是检验自己会不会的真理。
作者: 兰色精灵    时间: 2015-5-11 04:16
使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的
作者: 分手快乐    时间: 2015-5-12 07:04
有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。
作者: 金色的骷髅    时间: 2015-6-11 07:38
php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。
作者: 精灵巫婆    时间: 2015-6-13 13:39
微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox  支持的不是很好,所以能少用还是少用的好。
作者: 因胸联盟    时间: 2015-6-17 12:19
做为1门年轻的语言,php一直很努力。
作者: 山那边是海    时间: 2015-6-21 21:47
在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、
作者: 再见西城    时间: 2015-7-5 01:34
找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。
作者: 若相依    时间: 2015-7-8 07:01
至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2