【PDO配置】
1、确保PHP版本为5.2.5以上(主要是我用的5.2.5,第一次不知道用的5.1.x的,结果一直搞不好~_~)
2、在php.ini中找到Dynamic Extensions扩展部分,去掉extension=php_pdo.dll前面的分号
3、去掉相应数据库PDO扩展前面的分号,如:extension=php_pdo_mysql.dll
【范例中数据库】
CREATE TABLE tablename (
id mediumint(8) UNSIGNED NOT NULL AUTO_INCREMENT,
str varchar(50) NOT NULL DEFAULT '''',
PRIMARY KEY (id)
);
【程序范例】
<?php
/*
* 数据库配置信息
*/
$dsn = "mysql:host=localhost;dbname=test";
$user = ''root'';
$passwd = ''123456'';
/*
* 链接数据库,并测试是否链接成功
*/
try{
$db = new PDO($dsn, $user, $passwd);
}catch (PDOException $e)
{
echo "链接数据库失败!";
print "异常信息: ". $e->getMessage() . "<br/>";
print "异常文件: " . $e->getFile() . "<br/>";
print "异常行号: " . $e->getLine() . "<br/>";
exit();
}
/*
* 插入
*/
//$sql = "INSERT INTO tablename SET str = ''Hello''";
//$count = $db->exec($sql); //返回值为影响的行数
/*
* 删除
*/
//$sql = "DELETE FROM tablename WHERE str = ''Hello'' LIMIT 1";
//$count = $db->exec($sql); //返回值为影响的行数
/*
* 查询
*/
//预处理需要查询的SQL语句
//$db->setAttribute(PDO::ATTR_CASE, PDO::CASE_NATURAL); //列名按照原始的方式(字段)
$sql = "SELECT * FROM tablename WHERE id < :id AND str = :string"; //sql语句(参数绑定方式)
$query = $db->prepare($sql); //预处理
//用一组绑定参数执行一遍查询
$query->execute(array('':id''=>1, '':string''=>''Hello'')); //处理语句(参数绑定方式)
//$query->setFetchMode(PDO::FETCH_ASSOC); 关联数组形式(只通过字段名下标访问数组内容)
while($item =
php是我这个JavaScripter向后走的第一站."工欲善其事,必先利其器",照搬在js、java来的经验,手册、调试环境、成熟代码范例是学习一项新技术的3个首要条件.中文的帮助手册已经有了,成熟的代码示例很多,就差调试环境了.
手册中关于调试环境的介绍了了数字,网上搜了一下php调试也没有得到完整可操作的好文,只得到了zend系列产品可以单步、远程调试.
经过反复尝试,终于搞通了,估计很多phper都在美美的使用呢,只是没公布完整的操作流程,我就写写在我的xp机器上搭建php调试环境的流水帐吧
从zend官方http://www.zend.com/en/downloads/下载Zend Core 2 、 Zend Platform、ZendStudio ,
下载mysql,phpMyAdmin
1、卸载原有的apache、mysql
2、安装Zend Core 2,安装过程中选择新装Zend Core提供apache,如果不卸载原有apache很可能会出问题,还不好查原因,所以为了最终目标保守点没错
3、安装Zend Platform.因为远程调试必须装这个
4、安装Zend Studio 安装过程会让你选择是否安装zend platform因为已经装过了就不用了,zend guard也不用装
5、ZendCore默认装的apache在Zend Core安装目录的同级的Apache2目录下 html文档目录是默认为其下的htdos目录,学习为主,安全起见也就不要改了
6、安装Zend Platform之后会发现已经有一个mysql在跑了,我本想就使用这个mysql,可是root用户密码不知道,无法连接上,所以重新下载了一个mysql.安装另一个mysql过程需要为mysql实例起个新名字,因为已经有个叫mysql的在跑啦,其他以路默认,记住root用户密码
7、安装phpMyAdmin,下载之后解压到htdoc下的一个子目录下,修改config.sample.inc.php为config.sample.inc.php,将$cfg[''Servers''][$i][''controluser''] = '''';和$cfg[''Servers''][$i][''controlpass''] = '''';两行的注释去掉,填写上刚才安装mysql的用户名和密码,访问phpMyAdmin目录,应该就可以跑了
8、apache和mysql都有了,就可以选择一个示例代码来装了.wordpress、discuz、phpwind啥都行甚至直接调试phpmyadmin好了,反正就是htdocs下建立的站点
9、打开zend studio,project->new project建立项目.在左侧项目区里空白处右键"add to project..."将待调试的项目文件夹加进来
10、在IDE的主窗口点击Broswer,输入本地网址,比如http://localhost/phpmyadmin/,打开页之后,左上角有条的调试虫子在,点击下拉选择"current page",调试本页,点击虫子之后,如无意外会跳到当前页对应的php文件
11、ok,可以开始调试旅程了,单步执行(step into, step out), 断点(breakpoint),监视(watch),运行时变量( variables),调用堆栈(stack)都如eclipse等多数IDE一样放在那里,用吧
去zend下载需要注册一下,不过不用邮件确认,zend的几个产品似乎都有使用时间限制,到了再想办法解决
我尽量使用文字说清楚,因为搜"zend php调试"看到最多的那篇文章10来张都是破图,这里也仅附图一张
PHP5盗链函数(referfile)
作者:axgle
功能:任何以‘HTTP_REFERER’为主要特征的防盗链技术将通通失效,顷刻间便灰飞烟灭。
<?php
/**
@title:PHP5盗链函数
@author:axgle
@filename:referer.php
@contents:This is a demo that show referer made success
*/
if($_GET[''id'']) {
echo $_SERVER[''HTTP_REFERER''];
} else {
echo referfile(''http://localhost/referer.php?id=1'',''http://axgle.is.good/'');
}
function referfile($url,$refer='''') {
$opt=array(''http''=>array(''header''=>"Referer:$refer"));
$context=stream_context_create($opt);
return file_get_contents($url,false,$context);
}
?>
我程序里要用到PHP连接到MYSQL,所以先要将已经复制到c:windows 下的 php.ini 中看看。
将 extension=php_mysql.dll 前面的 ; 分号给去掉.
phpexe php_mysql.dll 的文件, 也复制到 c:windows, 或者是 path 路径中已经设置好的地方。
然后。可以用下面的一段代码来测试下,是否正常连接了。
本机环境: mysql-4.1.22-win32
MYSQL : root 口令123
数据库:deepthroat
能正常显示了,那就OK
<?php
// 连接,选择数据库
$link = mysql_connect(''localhost'', ''root'', ''123'')
or die(''Could not connect: '' . mysql_error());
echo ''Connected successfully'';
mysql_select_db(''deepthroat'') or die(''Could not select database'');
// 执行 SQL 查询
$query = ''SELECT * FROM dt_menu'';
$result = mysql_query($query) or die(''Query failed: '' . mysql_error());
// 用 HTML 显示结果
echo "<table> ";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
echo " <tr> ";
foreach ($line as $col_value) {
echo " <td>$col_value</td> ";
}
echo " </tr> ";
}
echo "</table> ";
// 释放结果集
mysql_free_result($result);
// 关闭连接
mysql_close($link);
?>
本文的作用是为了全方位的避免因使用UTF-8编码而产生的乱码问题,不包含具体的乱码解决方案和编码转换的内容。对于UTF-8编码的深入了解,请参阅:《PHP匹配UTF-8中文字符的正则表达式》
1、编辑器:不要使用任何微软的编辑器,什么Frontpage,Web Designer,记事本,写字板什么的,能丢的全部丢开,因为这些编辑器会在你的UTF-8文档前面产生BOM,关于BOM的具体说明,可以在 这里找到,当年我直接拿记事本转UTF-8覆盖原文件,造成大量代码损毁,至今记忆犹新。
2、MySQL数据库:注意建库,建表,建字段(注意有三处)的时候,都要选用utf8_general_ci的整理格式(Collation),在PHP使用mysql_connect()函数连接数据之后,需要加上一句:
mysql_query(''set names "utf8"'');
3、PHP:
使用mbstring库,不要使用iconv库。
使用preg而不要使用ereg来处理字符。
使用htmlentities()函数,html_entity_decode()函数的时候要带上第三个参数:
CODE:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<?php
$str = "<a href=''test''>中文</a>";
echo htmlentities($str,ENT_COMPAT,"UTF-8"); //显示(源代码里面) <a href=''test''>涓?
您可能感兴趣的文章:
php简单数据操作的实例 2013-09-26图解PHP使用Zend Guard 6.0加密方法教程 2016-11-25ps怎么使用HSL面板 2017-07-06使用insertAfter()方法在现有元素后添加一个新元素 2014-05-31使用GruntJS构建Web程序之构建篇 2014-06-07Plesk控制面板新手使用手册总结 2016-10-10使用jquery修改表单的提交地址基本思路 2014-06-07jQuery 1.9使用$.support替代$.browser的使用方法 2014-05-31C#注释的一些使用方法浅谈 2020-06-25MySQL日志分析软件mysqlsla的安装和使用教程 2015-11-24使用percona-toolkit操作MySQL的实用命令小结 2015-11-24如何使用php脚本给html中引用的js和css路径打上版本号 2015-11-24安装和使用percona-toolkit来辅助操作MySQL的基本教程 2015-11-24php语言中使用json的技巧及json的实现代码详解 2015-10-30PHP实现无限级分类(不使用递归) 2015-10-23php类的使用实例教程 2016-11-25双冒号 ::在PHP中的使用情况 2015-11-08浅析Promise的介绍及基本用法 2021-10-21PHP mysql与mysqli事务使用说明 分享 2013-10-02Postman安装与使用详细教程 附postman离线安装包 2021-03-05