![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
12) PHP+MySQL基础问题
ygc2022
这个作者很懒,什么都没留下…
展开
-
MYSQL的GRANT命令详解
本文实例,运行于 MySQL 5.0 及以上版本。MySQL 赋予用户权限命令的简单格式可概括为:grant 权限 on 数据库对象 to 用户 一、grant 普通数据用户,查询、插入、更新、删除 数据库中所有表数据的权利。grant select on testdb.* to common_user@'%'grant insert on testdb.* t原创 2012-08-18 21:29:12 · 862 阅读 · 0 评论 -
PHP strstr() 函数
定义和用法<br />strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。<br />该函数返回字符串的其余部分(从匹配点)。如果未找到所搜索的字符串,则返回 false。语法strstr(string,search)参数描述string必需。规定被搜索的字符串。search必需。规定所搜索的字符串。如果该参数是数字,则搜索匹配数字 ASCII 值的字符。提示和注释<br />注释:该函数是二进制安全的。<br />注释:该函数对大小写敏感。如需进行大小写不敏感的搜索,请使用 stri原创 2011-01-02 14:36:00 · 816 阅读 · 0 评论 -
MySQL表级锁,行级锁和页级锁
<br />表级,直接锁定整张表,在你锁定期间,其它进程无法对该表进行写操作。如果你是写锁,则其它进程则读也不允许<br />行级,,仅对指定的记录进行加锁,这样其它进程还是可以对同一个表中的其它记录进行操作。<br />页级,表级锁速度快,但冲突多,行级冲突少,但速度慢。所以取了折衷的页级,一次锁定相邻的一组记录。<br />MySQL 5.1支持对MyISAM和MEMORY表进行表级锁定,对BDB表进行页级锁定,对InnoDB表进行行级锁定。<br /><br />原创 2011-01-04 22:12:00 · 724 阅读 · 0 评论 -
InnoDB与MyISAM的六大区别
<br />本文主要整理了Mysql 两大常用的存储引擎MyISAM,InnoDB的六大常见区别,来源于Mysql手册以及互联网的资料<br /><br /><br /><br />InnoDB与Myisam的六大区别<br /> <br />MyISAM<br />InnoDB<br />构成上的区别:<br />每个MyISAM在磁盘上存储成三个文件。第一个文件的名字以表的名字开始,扩展名指出文件类型。<br />.frm文件存储表定义。<br />数据文件的扩展名为.MYD (MYData)。<br原创 2011-01-04 21:43:00 · 776 阅读 · 0 评论 -
优化mysql数据库的方法?
<br />1、选取最适用的字段属性<br /> MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽可能小。例如,在定义邮政编码这个字段时,如果将其设置为CHAR(255),显然给数据库增加了不必要的空间,甚至使用VARCHAR这种类型也是多余的,因为CHAR(6)就可以很好的完成任务了。同样的,如果可以的话,我们应该使用MEDIUMINT而不是BIGIN来定义整型字段。<br />原创 2011-01-02 19:03:00 · 2645 阅读 · 1 评论 -
PHP array_pop() 函数
定义和用法<br />array_pop() 函数删除数组中的最后一个元素。语法array_pop(array)参数描述array必需。规定输入的数组参数。例子<?php<br />$a=array("Dog","Cat","Horse");<br />array_pop($a);<br />print_r($a);<br />?><br />输出:Array ( [0] => Dog [1] => Cat )转载 2011-01-02 18:33:00 · 894 阅读 · 0 评论 -
PHP pack() 函数 与 unpack() 函数
PHP pack() 函数定义和用法pack() 函数把数据装入一个二进制字符串。语法pack(format,args+)参数描述format必需。规定在包装数据时所使用的格式。args+可选。规定被包装的一个或多个参数。format 参数的可能值:a - NUL-padded stringA - SPACE-padded stringh - Hex string, low nibble firstH - Hex string, high nibble firstc - signed charC - uns原创 2011-01-04 18:27:00 · 1864 阅读 · 0 评论 -
MySQL增加用户
<br />格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码" <br /><br />例1、增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MYSQL,然后键入以下命令: <br /> <br />grant select,insert,update,delete on *.* to test1@"%" Identified by "abc";<b原创 2011-01-04 13:07:00 · 591 阅读 · 0 评论 -
preg_replace_callback
<br />mixed preg_replace_callback ( mixed pattern, callback callback, mixed subject [, int limit] )<br /> <br /> 本函数的行为几乎和 preg_replace() 一样,除了不是提供一个 replacement 参数,而是指定一个 callback 函数。该函数将以目标字符串中的匹配数组作为输入参数,并返回用于替换的字符串。<br /> <br />例如问题:<br />preg_repla原创 2011-01-04 10:47:00 · 770 阅读 · 1 评论 -
PHP preg_replace的使用
<br />preg_replace -- 执行正则表达式的搜索和替换<br /> 说明<br />mixed preg_replace ( mixed pattern, mixed replacement, mixed subject [, int limit])<br /> <br />例子1:逆向引用后面紧接着数字的用法<br />$string = "April 15, 2003";$pattern = "/(/w+) (/d+), (/d+)/i";$replacement = "原创 2011-01-02 18:29:00 · 4849 阅读 · 1 评论 -
数据表某一个字段或多个字段分组统计
一SELECT `end_city` , count( * )FROM `table_name`GROUP BY `end_city`LIMIT 0 , 30分组统计,各个结束城市的次数情况二SELECT `start_city` ,`end_city` , count( * )FROM `table_name`GROUP BY `start_city` ,`end_city`LIMIT 0 , 30分组统计 出发城市以及到达城市的城市对 的次数情况原创 2010-11-15 13:23:00 · 3086 阅读 · 0 评论 -
Xdebug与PHPUnit
PHPUnit 用于单元测试PHPUnit是一个轻量级的PHP测试框架。它是在PHP5下面对JUnit3系列版本的完整移植,是xUnit测试框架家族的一员(它们都基于模式先锋Kent Beck的设计)。 单元测试是几个现代敏捷开发方法的基础,使得PHPUnit成为原创 2011-08-01 13:48:12 · 961 阅读 · 0 评论 -
global与$GLOBALS的区别
<?phpfunction f1() { global $v1,$v2; $v2 = &$v1; echo 'f1函数里:'."v1:".$v1."v2:".$v2;}function f2() { $GLOBALS["v3"] = &$GLOBAL原创 2011-08-01 13:28:22 · 688 阅读 · 0 评论 -
load data local infile 与 load data infile 的区别与注意事项
命令:load data local infile “filename.txt” into table tbl_name;说明:MySQl的版本不得低于3.22.15,否则load data local不起作用。 如果你没有给出local,则服务器按如下方法对其进行定位:1)如果你的filename为绝对路径,则服务器从根目录开始查找该文件.2)如果你的filename为原创 2012-08-18 21:13:58 · 6230 阅读 · 0 评论 -
深入理解PHP原理之Opcodes
Opcode是一种PHP脚本编译后的中间语言,就像Java的ByteCode,或者.NET的MSL,举个例子,比如你写下了如下的PHP代码: view plainecho "Hello World"; $a = 1 +转载 2011-10-04 17:37:42 · 560 阅读 · 0 评论 -
Zend引擎的优化
在PHP 5.4的更新list上, 有一句: 提升了Zend引擎的性能, 减少了内存占用.那么, 到底是怎么提升的呢?避免不必要的Hashtable我们知道在PHP中, 类的属性/静态属性/常量, 都是保存在Hashtable中的, 而在以前, 即使一个类没有申明属性转载 2011-10-04 17:22:09 · 530 阅读 · 0 评论 -
Zend Encode 与 Zend Optimizer的简明讲解
Zend Encode可以直接将脚本编译成二进制码。有了Zend Encode,你就可以将自己写好的PHP程序,编译后分发给很多用户,而用不着公开自己的源程序代码。编译好的二进制代码可以被Zend Optimizer透明读取,也就是说,客户只要在他的服务器上安装Zend原创 2011-10-04 16:58:55 · 870 阅读 · 0 评论 -
func_num_args() 与 func_get_args()简介
func_num_args() 传递给函数的参数个数func_get_args() 传递给函数的参数数组 例如:<?phpfunction foo(){ $numargs = func_num_args(); echo "Num原创 2011-09-15 14:12:31 · 2399 阅读 · 0 评论 -
实时向客户端输出数据(例如1秒输出一行) 要注意的两个问题
<?phpif (ob_get_level() == 0) { ob_start(); }for ($i = 0; $i<20; $i++){ echo "$i Line to show."; echo str_pad('原创 2011-09-14 15:30:16 · 894 阅读 · 0 评论 -
PHP超级变量
PHP超级全局变量数组(Super Global Array),又称为PHP预定义数组,是由PHP引擎内置的,不需要开发者重新定义。 在PHP脚本运行时,PHP会自动将一些数据放在超级全局数组中。 php超级全局变量列表 $_GET[] 获得以GET方法提原创 2011-09-03 20:10:26 · 688 阅读 · 0 评论 -
MYSQL日期函数
DATE_FORMAT(date,format) 根据format字符串格式化date值 (在format字符串中可用标志符: %M 月名字(January……December) %W 星期名字(Sunday……Saturday) %D 有英语前缀的原创 2011-08-05 14:40:26 · 540 阅读 · 0 评论 -
PHP获取客户端和服务器端IP
客户端IP相关的变量1. $_SERVER['REMOTE_ADDR']; 客户端IP,有可能是用户的IP,也有可能是代理的IP。2. $_SERVER['HTTP_CLIENT_IP']; 代理端的IP,可能存在,可伪造。3. $_SERVER['HTTP_原创 2011-09-03 20:52:21 · 837 阅读 · 0 评论 -
PHP的可变变量名
有时候可变的变量名会给编程带来很大的方便。也就是说变量名可以被动态的命名和使用。通常变量通过下面这样的语句来命名 :可变变量名指的是使用一个变量的值作为这个变量的名称。在上面的例子中,通过使用两个$符号,你可以把hello设置成一个变量的名称,就像下面那样。通过上面的两个语句,有两个变量被定义:变量$a,装的内容是”hello” 以及变量$hello,装的内容是 “world”。 于是,下面的语言:跟下面的语句的输出完全一致:它们都输出:hello world。为了使用数组的可变变量名,你需要解决一个歧原创 2010-11-05 13:28:00 · 667 阅读 · 0 评论 -
编译性语言、解释性语言和脚本语言
<br />什么是编译性语言、解释性语言和脚本语言<br /> 计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能值型高级语言编写的程序。 <br /><br /> 翻译的方式有两种,一个是编译,一个是解释。两种方式只是翻译的时间不同。编译型语言写的程序执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻译了,直接使用编译的结果就行了(exe文件),因为翻译只做了一次,运行时不需要翻译,所以编译型语原创 2010-11-04 11:49:00 · 512 阅读 · 0 评论 -
PHP ignore_user_abort() 函数
定义和用法<br />ignore_user_abort() 函数设置与客户机断开是否会终止脚本的执行。<br />本函数返回 user-abort 设置的之前的值(一个布尔值)。语法ignore_user_abort(setting)参数描述setting<br />可选。如果设置为 true,则忽略与用户的断开,如果设置为 false,会导致脚本停止运行。<br />如果未设置该参数,会返回当前的设置。提示和注释<br />注释:PHP 不会检测到用户是否已断开连接,直到尝试向客户机发送信息为止。简转载 2010-10-22 13:33:00 · 539 阅读 · 0 评论 -
php计划任务php中的ignore_user_abort实现计划任务
<br />函数-ignore_user_abort,这个函数可以帮助我们实现像linux中的cron一样实现计划任务,下面一起来看下该如何来实现。 <br /><br />首先看下php手册对这个函数的解释<br /><br />Description<br />int ignore_user_abort ([ bool $setting ] )<br />Sets whether a client disconnect should cause a script to be aborte原创 2010-10-22 14:29:00 · 1324 阅读 · 0 评论 -
file_get_contents读取不到session的原因
例如有两个文件:test1.php:test2.php:原创 2010-10-21 11:20:00 · 2676 阅读 · 0 评论 -
PHP中的function_exists函数
<br />可以用来判断php.ini文件中的参数是否开启.比如看配制文件中GD库开启了没有.<br />如下:<br />function checkGD()<br /> {<br /> if(false == function_exists("gd_info"))<br /> {<br /> echo 'GD库没有开启.';<br /> }else{<br /> echo 'GD库原创 2010-10-23 17:11:00 · 1053 阅读 · 0 评论 -
htmlspecialchars() 与 htmlspecialchars_decode()
<br />htmlspecialchars() 函数把一些预定义的字符转换为 HTML 实体。<br />预定义的字符是:& (和号) 成为 &" (双引号) 成为 "' (单引号) 成为 '< (小于) 成为 <> (大于) 成为 ><br /> <br /> 定义和用法<br />htmlspecialchars_decode() 函数把一些预定义的 HTML 实体转换为字符。<br />会被解码的 HTML 实体是:& 成为 & (和号)"原创 2010-10-23 15:15:00 · 657 阅读 · 0 评论 -
textarea的换行 htmlentities的用法
一个PHP文件:aa /r /n bb原创 2010-10-23 15:07:00 · 1085 阅读 · 0 评论 -
ob_start、ob_get_contents()、ob_end_clean()等用法
<br />ob_start()在服务器打开一个缓冲区来保存所有的输出。所以在任何时候使用echo ,输出都将被加入缓冲区中,直到程序运行结束或者使用ob_flush()来结束。然后在服务器中缓冲区的内容才会发送到浏览器,由浏览器来解析显示。使用ob_start()把输出那同输出到缓冲区,而不是到浏览器。然后用ob_get_contents得到缓冲区的数据。<br /><br />ob_end_clean()会清除缓冲区的内容,并将缓冲区关闭,但不会输出内容。<br />此时得用一个函数ob_g原创 2010-10-22 15:46:00 · 830 阅读 · 0 评论 -
PHP sleep() 函数
定义和用法<br />sleep() 函数延迟代码执行若干秒。语法sleep(seconds)参数描述seconds必需。以秒计的暂停时间。返回值<br />若成功,返回 0,否则返回 false。错误/异常<br />如果指定的描述 seconds 是负数,该函数将生成一个 E_WARNING。例子<?php<br />echo date('h:i:s') . "<br />";<br /><br />//暂停 10 秒<br />sleep(10);<br /><br />//重新开始<br />原创 2010-10-22 13:24:00 · 654 阅读 · 0 评论 -
require_once/include_once 与 require/include
1、在php中使用require_once/include_once虽然方便,但是代价昂贵,据测试数据来看,require_once比require慢3-4倍,因为程序要检验是否加载,所以在php开发中,我们应该尽量使用require/include。2、上述的__autoload函数除了自动加载功能外还有让文件仅加载一次的功能原创 2010-10-15 16:13:00 · 516 阅读 · 0 评论 -
php session详细设置说明 ,以及PHP中session_unset与session_destroy的区别
[Session]session.save_handler = files ; 用于保存/取回数据的控制方式session.save_path = C:/win/temp ; 在 save_handler 设为文件时传给控制器的参数, ; 这是数据文件将保存的路径。文件夹要事先建好session.use_cookies = 1 ; 是否使用cookie原创 2010-10-23 14:53:00 · 645 阅读 · 0 评论 -
关于flush()和ob_flush()
flush<br />(PHP 3, PHP 4, PHP 5)<br /><br />flush -- 刷新输出缓冲<br />说明<br />void flush ( void )<br /><br /><br />刷新PHP程序的缓冲,而不论PHP执行在何种情况下(CGI ,web服务器等等)。该函数将当前为止程序的所有输出发送到用户的浏览器。 <br /><br />flush() 函数不会对服务器或客户端浏览器的缓存模式产生影响。因此,必须同时使用 ob_flush() 和原创 2010-10-22 15:55:00 · 898 阅读 · 0 评论 -
PHP str_repeat() 函数
定义和用法<br />str_repeat() 函数把字符串重复指定的次数。语法str_repeat(string,repeat)参数描述string必需。规定要重复的字符串。repeat必需。规定字符串将被重复的次数。必须大于等于 0。例子<?php<br />echo str_repeat(".",13);<br />?><br />输出:.............转载 2010-10-23 14:47:00 · 1538 阅读 · 0 评论 -
MySQL锁表概述
<br />1、对于MySQL来说,有三种锁的级别:页级、表级、行级<br /> 页级的典型代表引擎为BDB。<br /> 表级的典型代表引擎为 MyISAM,MEMORY以及很久以前的ISAM。<br /> 行级的典型代表引擎为INNODB。<br /><br />2、我们实际应用中用的最多的就是行锁<br /> 行级锁的优点如下:<br /> 1)、当很多连接分别进行不同的查询时减小LOCK状态。<br /> 2)、如果出现原创 2010-11-02 16:33:00 · 698 阅读 · 0 评论 -
PHP的iconv
<br />iconv转换编码<br /> <br />例如:<br /> <br /> /** * 编码转换 从GBK转换为UTF-8 * @param $string */ public function gb2utf($string) { $out = iconv( "gb2312", "UTF-8" , $string); return $out; }原创 2010-11-01 16:52:00 · 431 阅读 · 0 评论 -
利用phpmailer自动发送邮件提醒
<br /> /** * 发送邮件 * @param $subject 邮件标题 * @param $body 邮件正文 */ public function sendMail($subject, $body, $email) { require("phpmailer/class.phpmailer.php"); $mail = new PHPMailer();$mail->IsSMTP();原创 2010-11-01 18:17:00 · 884 阅读 · 0 评论 -
使用file_get_contents()获取sohu博客乱码问题
问题:$html=file_get_contents('http://xuxiaonian.blog.sohu.com/160201697.html');var_dump($html);最后打印出来的结果都是乱码,经测试,新浪博客不会出现此问题,只有搜狐博客有次问题原因:获取的头部当中有Content-Encoding: gzip说明内容是GZIP压缩的 解压后就能得到内容了PHP内置的file_get_contents不支持GZIP 可以试试CURL 好象能处理GZIP array(11)原创 2010-11-01 17:15:00 · 825 阅读 · 0 评论