Heim  >  Artikel  >  php教程  >  比较实用的PHP编程技巧

比较实用的PHP编程技巧

WBOY
WBOYOriginal
2016-06-21 08:57:07978Durchsuche

1 在SQL语句中可通过添加限制条件:left(text20)只取text文本的前20个字;2 可以用limit fromRecord RecordNum 来作为分页使用比如limit 030表示从第一个记录开始遍历30个纪录;

1 在SQL语句中可通过添加限制条件:left(text20)只取text文本的前20个字;
2 可以用limit fromRecord RecordNum 来作为分页使用比如limit 030表示从第一个记录开始遍历30个纪录;
3 两个表的连接可以是:table1 join table2 using x(x为两个表的公共字段)或者是table1 join table2 on table1.x = table2.x
4 php获取querystring可以用$page = $_GET['page'];
或者
$page = $_REQUEST['page'];
其中Request可取得postgetQueryString等字符;
在这之前 我看到了一个较笨的办法:
parse_str($_SERVER['QUERY_STRING']$output); // 先将查询字符串存到一个数组$output中
$page = $output['page'];
5 php中日期函数的比较实际上就是字符串的比较;
6 mysql中date类型的数据可以是:2000-02-032002.02.032002.2.302.02.0302.2.3,就是说必须有月和日,而且必须以'-'或'.'分隔开来。
7 data()来获取时间会有时区的问题,我发现时间都少了8个小时是因为php.ini里面默认配置是GTM美国时区;
解决办法:可以修改php.ini:
[Date]
; Defines the default timezone used by the date functions
date.timezone = "Asia/Shanghai"
或者在使用date()函数是加上date_Default_TimeZone_set("PRC");
8 一段时间调试时在body处总是说我缺少")",费了半天是intval($_POST['consumeType'])的问题,在数据库中该字段是 varchar(50),在zengsong表中我没用intval函数,是因为它的ID就是1,2...整数跟char型的可以互相转换,但在另外两个表中是A5ASP07-01之类的,但它怎么转换成int型了呢?
让我们来看看intval函数的声明:
intval函数用来获取变量的整数值:int intval ( mixed var [ int base] )
通过使用特定的进制转换(默认是十进制),返回变量 var 的 integer 数值。
var 可以是任何标量类型。intval() 不能用于 array 或 object。
9 另外一个莫名的问题以用户名1登陆就可以,换个'bo'登陆,系统就在处出错:说我运行时间错误:缺少")",nnd。检查了一下,原来是sql语句中的变量类型跟数据库中的不一致,
10 php中当从浮点数转换成整数时,数字将被取整(丢弃小数位)。
11 在mysql插入语句中,如果是自增字段要用(NULL)来代替。
12 php的中文乱码???问题解决:
在mysql_connect后加入mysql_query("set names 'gb2312'");
或者全用utf8编码,就不用加入上述语句了。
还有函数iconv("GBK""UTF8""字符串");可实现各种字符编码的转换。



Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn