php mysql_escape_string与addslashes区别详解

 更新时间:2016年11月25日 15:06  点击:2245
php mysql_escape_string与addslashes区别详解,大家可参考一下本文章。

mysql_real_escape_string() 函数转义 SQL 语句中使用的字符串中的特殊字符。

下列字符受影响:

•x00
•n
•r

•'
•"
•x1a
如果成功,则该函数返回被转义的字符串。如果失败,则返回 false。


addslashes() 函数在指定的预定义字符前添加反斜杠。

这些预定义字符是:

•单引号 (')
•双引号 (")
•反斜杠 ()
•NULL

区别总结
mysql_escape_string与addslashes的区别在于  
mysql_escape_string总是将“'”转换成“'”  

而addslashes  
在magic_quotes_sybase=on时将“'”转换成“''”  
在magic_quotes_sybase=off时将“'”转换成“'”

文章总结了php display_errors与log_errors 用法介绍,有需要了解的同学可参考一下本文章。

display_errors

错误回显,一般常用语开发模式,但是很多应用在正式环境中也忘记了关闭此选项。错误回显可以暴露出非常多的敏感信息,为攻击者下一步攻击提供便利。推荐关闭此选项。

display_errors = On

开启状态下,若出现错误,则报错,出现错误提示

dispaly_errors = Off

关闭状态下,若出现错误,则提示:服务器错误。但是不会出现错误提示

在程序上可以这样定义开关

//ini_set("display_errors","On"); //显示所有错误信息*/
 ini_set("display_errors","Off"); //屏蔽所有错误信息

这里要说明的是,通常服务器配置文件中,是屏蔽notice错误,只显示error错误,如果是这样的话,你打开错误显示,也不会显示notice错误

log_errors

在正式环境下用这个就行了,把错误信息记录在日志里。正好可以关闭错误回显。


设置是否将脚本运行的错误信息记录到服务器错误日志或者error_log之中。注意,这是与服务器相关的特定配置项。

Note:

在生产系统中,强烈建议你使用错误日志记录web站点上显示的错误信息。


log_errors_max_len integer
设置 log_errors 的最大字节数. 在 error_log 会添加有关错误源的信息。默认值为1024,如果设置为0表示不限长度。该长度设置对记录的错误,显示的错误,以及 $php_errormsg都会有限制作用。

当使用 integer 时, 其值以字节来衡量。还可以使用在FAQ中描述的速记符。

php中global和$GLOBALS[]是比较常见全局变量了,下面我们给大家看一个简单的实例,来区别一下global和$GLOBALS[]用法吧。

根据官方的解释是 :

1.$GLOBALS['var']是外部的全局变量本身。

 代码如下 复制代码

<?php 
$var1 = 1; 
function test(){ 
     unset($GLOBALS['var1']); 

test(); 
echo $var1; 
?> 


2.global $var是外部$var的同名引用或者指针。

 

 代码如下 复制代码
$globalStr = '.com';
 
function globalTest(){
 
 global $globalStr;
 
 $globalStr = 'coderbolg'.$globalStr;
 
 unset($globalStr);
 
}
 
globalTest();
 
echo $globalStr; //输入: coderbolg.com
本文章介绍了关于PHP & HTML & JavaScript & MySQL 代码如何互相传值 ,有需要学习的朋友可参考一下

1.PHP

a.PHP -> HTML & JavaScript

额 超简单,我也要写= =~

html代码中

 代码如下 复制代码
<input type=""  readonly="readonly" style='background-color:#DCDCDC' value=<?php echo $perinfo[ID];?> />

   JavaScript代码中

 代码如下 复制代码
<script type="text/javascript">
var ability=<?php echo JSON($array);?>;
</script> 

 b.PHP  <-> MySQL


php代码中

 代码如下 复制代码


<?php
$dbcnx = @mysql_connect ( "localhost", "root", "1234" );
if (! $dbcnx) {
    echo ("Unable to connect to the " . "database server at this time.");
    exit ();
}

if (! @mysql_select_db ( "pms" )) {
    echo ("Unable to locate the joke " . "database at this time.");
    exit ();
}
mysql_query ( "SET NAMES 'GB2312'" );


    $q=mysql_query("select * from ability where ALV = 1");
    while($row=mysql_fetch_array($q)){
    $array1[] = $row[AName];
}
?>

2.HTML

a. HTML -> PHP (POST方式)

html代码中

 代码如下 复制代码
<form id="form" name="form" method="POST" action="do.php">
<input type="hidden" id="count" name="count" value="1"/>
<input type="submit" name="Submit" value="Search"/>
</form> 

 do.php 文件代码中

 代码如下 复制代码
<?php
echo $_POST['count'];
?> 

 b. HTML -> JavaScript


JavaScript代码中 (可获得,可更改)

 代码如下 复制代码

<script type="text/javascript">
var te = document.getElementById("count"); 
te.value = 1; 
</script>

3.JavaScript

a. JavaScript -> HTML (通用法, 未验证)

JavaScript代码中

 

 代码如下 复制代码
<script type="text/javascript">
function f(){
var id = "2";
var a = document.getElementById("a");
a.href.replace("(n)", id);
}
</script> 

 html代码

 代码如下 复制代码
<a id="a" href="ExportArticle.action?articles=(n)"/>  b. JavaScript ->

PHP

通过html的转接

1.JavaScript代码先给html

 代码如下 复制代码

<script type="text/javascript">
var i = 1;
var te = document.getElementById("count"); 
te.value = i; 
</script>  2.html代码给php

<form id="form" name="form" method="POST" action="do.php">
<input type="hidden" id="count" name="count" value="1"/>
<input type="submit" name="Submit" value="Search"/>
</form>  3.do.php接收到

<?php
echo $_POST['count'];
?>

本文章详细的介绍了关于php dirname、basename、pathinfo 解析目录路径,有需要学习的朋友可参考一下。

1:string basename(string path[,string suffix]);

给出一个包含有指向一个文件的全路径的字符串,本函数返回基本的文件名。如果文件名是以suffix结束的,那这一部分也会被去掉。

在Windows中,斜线(/)和反斜线()都可以用作路径分隔符。在其它环境下是斜线(/)。

例子1.basename()例子

 代码如下 复制代码

<?php

$path=网页制作教程http://www.111cn.net,请保留此标记"/home/httpd/html/index.php";

$file=basename($path);       //$fileissetto"index.php"

$file=basename($path,".php");//$fileissetto"index"

?>


2:string dirname(string path);

参数是是一个文件路径的字符串,返回去掉文件名后的目录
__FILE__的路径是当前代码所在文件
 
dirname(dirname(__FILE__));得到的是文件上一层目录名
dirname(__FILE__);得到的是文件所在层目录名

例子

 代码如下 复制代码

<?php
echo dirname("c:/testweb/home.php");
echo dirname("/testweb/home.php");
?>输出:

c:/testweb
/testweb

3:array pathinfo($path);

参数是一个文件路径的字符串,返回一个包含目录名、文件名和扩展名三个部分的数组,分别通过dirname、basename、extension来引用

例子 1

 代码如下 复制代码
<?php
print_r(pathinfo("/testweb/test.txt"));
?>

输出:

 代码如下 复制代码
Array
(
[dirname] => /testweb
[basename] => test.txt
[extension] => txt
)

例子 2

 代码如下 复制代码
<?php
print_r(pathinfo("/testweb/test.txt",PATHINFO_BASENAME));
?>

输出:

 代码如下 复制代码

test.txt

[!--infotagslink--]

相关文章

  • 详解C++ string常用截取字符串方法

    这篇文章主要介绍了C++ string常用截取字符串方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-04-25
  • mybatis 返回Integer,Double,String等类型的数据操作

    这篇文章主要介绍了mybatis 返回Integer,Double,String等类型的数据操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-11-25
  • 浅谈C++中的string 类型占几个字节

    本篇文章小编并不是为大家讲解string类型的用法,而是讲解我个人比较好奇的问题,就是string 类型占几个字节...2020-04-25
  • 【C#基础】Substring截取字符串的方法小结(推荐)

    这篇文章主要介绍了Substring截取字符串方法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-06-25
  • java中String类型变量的赋值问题介绍

    下面小编就为大家带来一篇java中String类型变量的赋值问题介绍。小编觉得挺不错的。现在分享给大家,给大家一个参考。...2016-03-28
  • C# 中string.split用法详解

    本文给大家分享了C# 中string.split用法的相关知识,非常不错,具有参考借鉴价值,需要的朋友参考下吧...2020-06-25
  • c#中的常用ToString()方法总结

    很多类都重写了ToString方法, 导致很多类的tostring到底执行了什么,有哪些参数,都不清楚...2020-06-25
  • Go中string与[]byte高效互转的方法实例

    string与[]byte经常需要互相转化,普通转化会发生底层数据的复制,下面这篇文章主要给大家介绍了关于Go中string与[]byte高效互转的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下...2021-09-20
  • 在C#的类或结构中重写ToString方法的用法简介

    这篇文章主要介绍了在C#的类或结构中重写ToString方法的用法简介,需要的朋友可以参考下...2020-06-25
  • Javascript实现Array和String互转换的方法

    这篇文章主要介绍了Javascript实现Array和String互转换的方法,涉及JavaScript中toString方法与split方法的使用技巧,需要的朋友可以参考下...2015-12-24
  • C#中enum和string的相互转换

    这篇文章主要介绍了C#中enum和string的相互转换的相关资料,需要的朋友可以参考下...2020-06-25
  • C#中Byte[]和String之间转换的方法

    很多朋友不清楚如何在Byte[]和String之间进行转换?下面小编给大家带来了byte与string转换的方法,感兴趣的朋友参考下吧...2020-06-25
  • C++ 字符串string和整数int的互相转化操作

    这篇文章主要介绍了C++ 字符串string和整数int的互相转化操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-12-10
  • C# 字符串string和内存流MemoryStream及比特数组byte[]之间相互转换

    本文主要介绍字符串string和内存流MemoryStream及比特数组byte[]之间相互转换的方法,需要的小伙伴可以参考一下。...2020-06-25
  • C++ string替换指定字符实例代码

    这篇文章主要给大家介绍了关于C++ string替换指定字符的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用C++具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧...2020-04-25
  • Mysql中关于Incorrect string value的解决方案

    在对mysql数据库中插入数据的时候,直接插入中文是没有问题的!但是用预编译语句时,用流对数据进行处理总报incorrect string value这个异常。本篇文章教给你解决方法...2021-09-20
  • String.Format大全(C# Java)

    String.format无论是在C#中还是在java中应用都非常广泛,今天小编抽个时间把有关string.format知识总结分享给大家,需要的朋友可以参考下...2020-06-25
  • c#中string的特性介绍及注意事项小结

    这篇文章主要给大家介绍了关于c#中string的特性介绍及注意事项的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用c#具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧...2020-06-25
  • C#中图片.BYTE[]和base64string的转换方法

    下面小编就为大家带来一篇C#中图片.BYTE[]和base64string的转换方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
  • C#中ToString数据类型格式大全(千分符)

    这篇文章主要介绍了C#中ToString数据类型格式大全 千分符,需要的朋友可以参考下...2020-06-25