上一页 1 ··· 23 24 25 26 27 28 29 30 31 ··· 43 下一页
摘要: 对于初学编程的人员来说,变量在内存中是分配在堆中还是在栈中,往往不甚明白,今天我来清晰简单的讲解下。​ 当我们看到一个变量类型是已知的,就分配在栈里面,比如INT,Double等。其他未知的类型,比如自定义的类型,因为系统不知道需要多大,所以程序自己申请,这样就分配在堆里面。 值类型与引用类型的分配,如图: 简单来说,值类型是分配在栈里面,引用类型分配在堆里面。 那从内存的分配角度来看,是因为值类型,已经知道了类型的范围大小,可以进行有效分配,比如int,计算机是知道其范围的,所以直接由系统分配在栈中,无需自己申请! 而新的类型,比如自己定义一个类,很明显这个类是不知道大小的,应... 阅读全文
posted @ 2013-03-19 23:49 洒洒 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 数据库是WEB大多数应用开发的基础。如果你是用PHP,那么大多数据库用的是MYSQL也是LAMP架构的重要部分。 PHP看起来很简单,一个初学者也可以几个小时内就能开始写函数了。但是建立一个稳定、可靠的数据库确需要时间和经验。下面就是一些这样的经验,不仅仅是MYSQL,其他数据库也一样可以参考。1、使用MyISAM而不是InnoDBMySQL有很多的数据库引擎,但一般也就用MyISAM和InnoDB。 MyISAM是默认使用的。但是除非你是建立一个非常简单的数据库或者只是实验性的,那么到大多数时候这个选择是错误的。MyISAM不支持外键的约束,这是保证数据完整性的精华所在啊。另外,My... 阅读全文
posted @ 2013-03-19 23:39 洒洒 阅读(228) 评论(1) 推荐(1) 编辑
摘要: 概念: 防止:验证。 举例说明: 应该是:永远别相信用户的输入。用后端的PHP来校验过滤每一条输入的信息,不要相信Javascript。像下面这样的SQL语句很容易就会被攻击:$username = $_POST["name"]; $password = $_POST["password"]; $sql = "SELECT userid FROM usertable WHERE username='$username'AND password='$password';"; // run query... 阅读全文
posted @ 2013-03-19 23:20 洒洒 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 首先两个函数都是用来处理DB 的。首先, mysqli 连接是永久连接,而mysql是非永久连接(错!错!错!)。什么意思呢? mysql连接每当第二次使用的时候,都会重新打开一个新的进程,而mysqli则只使用同一个进程,这样可以很大程度的减轻服务器端压力。其次,mysqli封装了诸如事务等一些高级操作,同时封装了DB操作过程中的很多可用的方法。具体查看 http://cn.php.net/mysqli应用比较多的地方是 mysqli的事务。比如下面的示例:$mysqli = new mysqli('localhost','root','',& 阅读全文
posted @ 2013-03-19 23:14 洒洒 阅读(2220) 评论(0) 推荐(0) 编辑
摘要: 建立外键的前提: 本表的列必须与外键类型相同(外键必须是外表主键)。外键作用: 使两张表形成关联,外键只能引用外表中的列的值!指定主键关键字: foreign key(列名)引用外键关键字: references <外键表名>(外键列名)事件触发限制: on delete和on update , 可设参数cascade(跟随外键改动), restrict(限制外表中的外键改动),set Null(设空值),set Default(设默认值),[默认]no action例如:outTable表 主键 id 类型 int创建含有外键的表: create table temp( id i 阅读全文
posted @ 2013-03-19 23:08 洒洒 阅读(561) 评论(0) 推荐(0) 编辑
摘要: 1.group by用法 只有在分组统计中才会使用group by ,这个分组统计有两个涵义:第一必须是分组,不以组归类就无所谓group by,group by的意思就是以组为单位。第二,必须是计算,而且必须是按组计算。如计算每个班级多少人:select class,count(*) from... 阅读全文
posted @ 2013-03-19 00:16 洒洒 阅读(385) 评论(0) 推荐(0) 编辑
摘要: 使用五种以上方式获取一个文件的扩展名: 要求:dir/upload.image.jpg,找出 .jpg 或者 jpg , 必须使用PHP自带的处理函数进行处理,方法不能明显重复,可以封装成函数,比如 get_ext1($file_name), get_ext2($file_name)function get_ext1($file_name){return strrchr($file_name, '.');}function get_ext2($file_name){return substr($file_name, strrpos($file_name, '.' 阅读全文
posted @ 2013-03-18 23:35 洒洒 阅读(588) 评论(0) 推荐(0) 编辑
摘要: function foreachDir($path){ $handle=opendir($path); if($handle){ while (false !== ($file = readdir($handle))) { if($file!="." && $file!='..'){ if(is_dir($path.$file)){ echo $path.$file."<br/>"; ... 阅读全文
posted @ 2013-03-18 23:17 洒洒 阅读(364) 评论(0) 推荐(0) 编辑
摘要: 一、提出问题: 为了满足足够大的应用,满足更多的客户,于是我们架设了N台Web服务器(N>=2),在多台Web服务器的情况下,我们会涉及到一个问题:用户登陆一台服务器以后,如果在跨越到另一台服务器的时候能够继续使用客户的Session?二、解决方案:1. 写客户端Cookie的方式 当用户登陆成功以后,把网站域名、用户名、密码、token、 session有效时间全部采用cookie的形式写入到客户端的cookie里面,如果用户从一台Web服务器跨越到另一台服务器的时候,我们的程序主动去检测客户端的cookie信息,进行判断,然后提供对应的服务,当然,如果cookie过期,或... 阅读全文
posted @ 2013-03-18 22:57 洒洒 阅读(8487) 评论(0) 推荐(0) 编辑
摘要: 守护进程: 守护进程(daemon)是指在UNIX或其他多任务操作系统中在后台执行的电脑程序,并不会接受电脑用户的直接操控。此类程序会被以进程的形式初始化。守护进程程序的名称通常以字母“d”结尾:例如,syslogd就是指管理系统日志的守护进程。 通常,守护进程没有任何存在的父进程(即PPID=1),且在UNIX系统进程层级中直接位于init之下。守护进程程序通常通过如下方法使自己成为守护进程:对一个子进程调用fork,然后使其父进程立即终止,使得这个子进程能在init下运行。这种方法通常被称为“脱壳”。 系统通常在启动时一同起动守护进程。守护进程为对网络请求,硬件活动等进行响应,或其他... 阅读全文
posted @ 2013-03-18 22:53 洒洒 阅读(295) 评论(0) 推荐(0) 编辑
上一页 1 ··· 23 24 25 26 27 28 29 30 31 ··· 43 下一页