31 七 2008 @ 2:07 下午 

mysql_insert_id –  取得上一步 INSERT 操作产生的 ID

说明

int mysql_insert_id ( [resource link_identifier] )
mysql_insert_id() 返回给定的 link_identifier 中上一步 INSERT 查询中产生的 AUTO_INCREMENT 的 ID 号。如果没有指定 link_identifier,则使用上一个打开的连接。

如果上一查询没有产生 AUTO_INCREMENT 的值,则 mysql_insert_id() 返回 0。如果需要保存该值以后使用,要确保在产生了值的查询之后立即调用 mysql_insert_id()

注意: MySQL 中的 SQL 函数 LAST_INSERT_ID() 总是保存着最新产生的 AUTO_INCREMENT 值,并且不会在查询语句之间被重置。

 

警告
mysql_insert_id() 将 MySQL 内部的 C API 函数 mysql_insert_id() 的返回值转换成 long(PHP 中命名为 int)。如果 AUTO_INCREMENT 的列的类型是 BIGINT,则 mysql_insert_id() 返回的值将不正确。可以在 SQL 查询中用 MySQL 内部的 SQL 函数 LAST_INSERT_ID() 来替代。
例 1. mysql_insert_id() 例子

<?php
    mysql_connect
("localhost", "mysql_user", "mysql_password") or
        die(
"Could not connect: " . mysql_error());
    
mysql_select_db("mydb");

    mysql_query("INSERT INTO mytable (product) values ('kossu')");
    
printf ("Last inserted record has id %d\n", mysql_insert_id());
?>

 

Posted By: 大宇
Last Edit: 31 七 2008 @ 02:07 下午

EmailPermalinkComments (0)
Tags
Tags: , ,
Categories: php函数
 

eval

 
 28 七 2008 @ 4:23 下午 

注意: 由于这是一个语言结构而非函数,因此它无法被变量函数调用。   
提示: 为了防止程序直接将结果输出到浏览器,可以使用输出控制函数来捕获此函数的输出,并把它们保存到一个例如 string 类型的变量中。   

手册上也有一段例子,是为了演示用的:

PHP代码
  1. <?php   
  2. $string = ‘cup’;   
  3. $name = ‘coffee’;   
  4. $str = ‘This is a $string with my $name in it.’;   
  5. echo $str“\n”;   
  6. eval(“\$str = \”$str\”;”);   
  7. echo $str“\n”;   
  8. ?>    
  9.   
  10. 输出的结果如下:   
  11. This is a $string with my $name in it.   
  12. This is a cup with my coffee in it.  

看了这个例子,相信很容易理解Evaluate a string as PHP code的含义了吧。正因为这样,所以eval()里的参数一定要有”;”结尾,可以让PHP解释器知道这句PHP代码结束了。

上面是最常用的方法,当然也会有一些奇怪的用法:

PHP代码
  1. <?php   
  2.   
  3. eval(‘test’);   
  4. eval(‘>’ . ‘test’);  

直接运行第3行的代码肯定是报错,但是……第四行却又是正常的。因为”?>”让PHP代码结束了,整行代码的意思相当于 echo ‘test’;所以可以用类似的方法来输出其他不太适合用echo输出的内容,而又不影响代码的正常执行(比如,加载一个PHP文件,如果直接用echo(file_get_contents(‘aaa.php’)))那么,输出的内容纯粹就是aaa.php的内容。而eval(‘?>’.file_get_contents(‘aaa.php’))则是输出aaa.php执行后的内容。

Posted By: 大宇
Last Edit: 28 七 2008 @ 04:23 下午

EmailPermalinkComments (0)
Tags
Tags: ,
Categories: php函数
 28 七 2008 @ 4:08 下午 

$_SERVER['argv']
//传递给该脚本的参数。
$_SERVER['argc']
//包含传递给程序的命令行参数的个数(如果运行在命令行模式)。
$_SERVER['GATEWAY_INTERFACE']
//服务器使用的 CGI 规范的版本。例如,“CGI/1.1”。
$_SERVER['SERVER_NAME']
//当前运行脚本所在服务器主机的名称。
$_SERVER['SERVER_SOFTWARE']
//服务器标识的字串,在响应请求时的头部中给出。
$_SERVER['SERVER_PROTOCOL']
//请求页面时通信协议的名称和版本。例如,“HTTP/1.0”。
$_SERVER['REQUEST_METHOD']
//访问页面时的请求方法。例如:“GET”、“HEAD”,“POST”,“PUT”。
$_SERVER['QUERY_STRING']
//查询(query)的字符串。
$_SERVER['DOCUMENT_ROOT']
//当前运行脚本所在的文档根目录。在服务器配置文件中定义。
$_SERVER['HTTP_ACCEPT']
//当前请求的 Accept: 头部的内容。
$_SERVER['HTTP_ACCEPT_CHARSET']
' //当前请求的 Accept-Charset: 头部的内容。例如:“iso-8859-1,*,utf-8”。
$_SERVER['HTTP_ACCEPT_ENCODING']
'//当前请求的 Accept-Encoding: 头部的内容。例如:“gzip”。
$_SERVER['HTTP_ACCEPT_LANGUAGE']
'//当前请求的 Accept-Language: 头部的内容。例如:“en”。
$_SERVER['HTTP_CONNECTION']
//当前请求的 Connection: 头部的内容。例如:“Keep-Alive”。
$_SERVER['HTTP_HOST']
//当前请求的 Host: 头部的内容。
$_SERVER['HTTP_REFERER']
//链接到当前页面的前一页面的 URL 地址。
$_SERVER['HTTP_USER_AGENT']
//当前请求的 User_Agent: 头部的内容。
$_SERVER['REMOTE_ADDR']
//正在浏览当前页面用户的 IP 地址。
$_SERVER['REMOTE_HOST']
//正在浏览当前页面用户的主机名。
$_SERVER['REMOTE_PORT']
//用户连接到服务器时所使用的端口。
$_SERVER['SCRIPT_FILENAME']
//当前执行脚本的绝对路径名。
$_SERVER['SERVER_ADMIN']
//管理员信息
$_SERVER['SERVER_PORT']
//服务器所使用的端口
$_SERVER['SERVER_SIGNATURE']
//包含服务器版本和虚拟主机名的字符串。
$_SERVER['PATH_TRANSLATED']
//当前脚本所在文件系统(不是文档根目录)的基本路径。
$_SERVER['SCRIPT_NAME']
//包含当前脚本的路径。这在页面需要指向自己时非常有用。
$_SERVER['REQUEST_URI']
//访问此页面所需的 URI。例如,“/index.html”。
$_SERVER['PHP_AUTH_USER']
//当 PHP 运行在 Apache 模块方式下,并且正在使用 HTTP 认证功能,这个变量便是用户输入的用户名。
$_SERVER['PHP_AUTH_PW']
//当 PHP 运行在 Apache 模块方式下,并且正在使用 HTTP 认证功能,这个变量便是用户输入的密码。
$_SERVER['AUTH_TYPE']
//当 PHP 运行在 Apache 模块方式下,并且正在使用 HTTP 认证功能,这个变量便是认证的类型。
$_SERVER['PHP_SELF']
//当前正在执行脚本的文件名,与 document root相关。

Posted By: 大宇
Last Edit: 28 七 2008 @ 04:11 下午

EmailPermalinkComments (0)
Tags
Tags: ,
Categories: php
 28 七 2008 @ 3:53 下午 

array_values

(PHP 4, PHP 5)

array_values – 返回数组中所有的值

说明

array array_values ( array input )

array_values() 返回 input 数组中所有的值并给其建立数字索引。

例 1. array_values() 例子

<?php
$array
= array("size" => "XL", "color" => "gold");
print_r(array_values($array));
?>

上例将输出:

Array
(
    [0] => XL
    [1] => gold
)

参见 array_keys()

Posted By: 大宇
Last Edit: 28 七 2008 @ 03:53 下午

EmailPermalinkComments (0)
Tags
Tags: ,
Categories: php函数
 19 七 2008 @ 4:09 下午 

<?php
// 验证密码
$password = “123456″;
?>
<html>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=gb2312″>
<title>unzip</title>
<style type=”text/css”>
<!–
body,td{
 font-size: 14px;
 color: #000000;
}
a {
 color: #000066;
 text-decoration: none;
}
a:hover {
 color: #FF6600;
 text-decoration: underline;
}
–>
</style>
</head>

More »

Posted By: 大宇
Last Edit: 20 七 2008 @ 12:16 上午

EmailPermalinkComments (0)
Tags
Tags: , , ,
Categories: php
 17 七 2008 @ 10:17 上午 

//note 取得动作和菜单变量
$menu = MooGetGPC(‘menu’, ’string’);
$action = MooGetGPC(‘action’, ’string’);
$operation = MooGetGPC(‘operation’, ’string’);

//note 加载需要模块
if(!empty($topMenu[$action]['name']) && file_exists(MOOPHP_ROOT.’/../Moo-admin/’.$action.’.inc.php’)) {
 require MOOPHP_ROOT.’/../Moo-admin/’.$action.’.inc.php’;
}

//operation  使用
!defined(‘IN_MOOPHP’) && exit(‘Access Denied’);
$operation = MooGetGPC(‘operation’, ’string’);
$id = MooGetGPC(‘id’);
$operation = in_array($operation, array(‘edit’, ‘del’, ‘list’, ‘adduser’, ‘usermanage’, ‘editusermes’,'editgroup’,'banuser’,'banip’, ‘auditlist’, ‘clear’)) ? $operation : ‘usermanage’;

Posted By: 大宇
Last Edit: 17 七 2008 @ 10:17 上午

EmailPermalinkComments (0)
Tags
Tags: , ,
Categories: php
 16 七 2008 @ 11:51 下午 

function writetocache($script, $cachenames, $cachedata = ”, $prefix = ‘cache_’) {
 global $authkey;
 if(is_array($cachenames) && !$cachedata) {
  foreach($cachenames as $name) {
   $cachedata .= getcachearray($name, $script);
  }
 }

 $dir = DISCUZ_ROOT.’./forumdata/cache/’;
 if(!is_dir($dir)) {
  @mkdir($dir, 0777);
 }
 if($fp = @fopen(“$dir$prefix$script.php”, ‘wb’)) {
  fwrite($fp, “<?php\n//Discuz! cache file, DO NOT modify me!”.
   ”\n//Created: “.date(“M j, Y, G:i”).
   ”\n//Identify: “.md5($prefix.$script.’.php’.$cachedata.$authkey).”\n\n$cachedata?>”);
  fclose($fp);
 } else {
  exit(‘Can not write to cache files, please check directory ./forumdata/ and ./forumdata/cache/ .’);
 }
}

Posted By: 大宇
Last Edit: 05 一 2009 @ 08:09 下午

EmailPermalinkComments (0)
Tags
Tags: ,
Categories: discuz, php
 15 七 2008 @ 5:27 下午 

if($_REQUEST['operate'] == “js”){
 $cacheFile = DISCUZ_ROOT . ‘./forumdata/cache/cache_counta.php’;
 if (($time – @filemtime($cacheFile)) > $cacheTime) {
  //查询当天评分总数
  $ltime = date(‘H 点 i 分’,time());
  $numRows = $db->query(“SELECT time FROM {$tablepre}grade WHERE time>=’$time0′ AND time<=’$time24′”);
  $count = $db->num_rows($numRows);
  $countbar = ‘$newcountbar = \’<a href=”plugin.php?identifier=counta&module=counta”>截至到’. $ltime .’,总共收到评分’. $count .’个, 点击请看详情</a>\’;’.”\n\n”;

  writetocache(“counta”, ”, $countbar);
 }
 require ($cacheFile);
 echo “document.write(‘$newcountbar’)”;
 exit();
}

<script type=”text/javascript” src=”plugin.php?identifier=counta&module=counta&operate=js”></script>

Posted By: 大宇
Last Edit: 05 一 2009 @ 08:10 下午

EmailPermalinkComments (0)
Tags
Tags: , , ,
Categories: discuz, php
 15 七 2008 @ 1:32 下午 

empty

(PHP 3, PHP 4, PHP 5)

empty – 检查一个变量是否为空

描述

bool empty ( mixed var )

如果 var 是非空或非零的值,则 empty() 返回 FALSE。换句话说,""0"0"NULLFALSEarray()var $var; 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE

除了当变量没有置值时不产生警告之外,empty()(boolean) var 的反义词。参见转换为布尔值获取更多信息。

例 1. empty()isset() 的一个简单比较。
<?php
$var
= 0;// 结果为 true,因为 $var 为空
if (empty($var)) {  
    echo
'$var is either 0 or not set at all'

;
}

// 结果为 false,因为 $var 已设置
if (!isset($var)) {
    echo
'$var is not set at all';
}
?>

注意: 由于这是一个语言结构而非函数,因此它无法被变量函数调用。

注意: empty() 只检测变量,检测任何非变量的东西都将导致解析错误。换句话说,后边的语句将不会起作用: empty(addslashes($name))

*来自PHP手册

Posted By: 大宇
Last Edit: 15 七 2008 @ 01:34 下午

EmailPermalinkComments (0)
Tags
Tags: ,
Categories: php函数
 15 七 2008 @ 1:28 下午 

isset

(PHP 3, PHP 4, PHP 5)

isset – 检测变量是否设置

描述

bool isset ( mixed var [, mixed var [, ...]] )

如果 var 存在则返回 TRUE,否则返回 FALSE

如果已经使用 unset() 释放了一个变量之后,它将不再是 isset()。若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE。同时要注意的是一个 NULL 字节("\0")并不等同于 PHP 的 NULL 常数。

警告: isset() 只能用于变量,因为传递任何其它参数都将造成解析错误。若想检测常量是否已设置,可使用 defined() 函数。

 

 

<?php

$var = '';

// 结果为 TRUE,所以后边的文本将被打印出来。
if (isset($var)) {
    print
"This var is set set so I will print.";
}

// 在后边的例子中,我们将使用 var_dump 输出 isset() 的返回值。

$a = "test";
$b = "anothertest";

var_dump( isset($a) );      // TRUE
var_dump( isset ($a, $b) ); // TRUE

unset ($a);

var_dump( isset ($a) );     // FALSE
var_dump( isset ($a, $b) ); // FALSE

$foo = NULL;
var_dump( isset ($foo) );   // FALSE

?>

 

 

这对于数组中的元素也同样有效:

 

<?php

$a = array ('test' => 1, 'hello' => NULL);

var_dump( isset ($a['test']) );            // TRUE
var_dump( isset ($a['foo']) );             // FALSE
var_dump( isset ($a['hello']) );           // FALSE

// 键 'hello' 的值等于 NULL,所以被认为是未置值的。
// 如果想检测 NULL 键值,可以试试下边的方法。
var_dump( array_key_exists('hello', $a) ); // TRUE

?>

 

*来自PHP手册

Posted By: 大宇
Last Edit: 15 七 2008 @ 01:28 下午

EmailPermalinkComments (0)
Tags
Tags: ,
Categories: php函数

 Last 50 Posts
Change Theme...
  • Users » 1
  • Posts/Pages » 165
  • Comments » 12
Change Theme...
  • VoidVoid « Default
  • LifeLife
  • EarthEarth
  • WindWind
  • WaterWater
  • FireFire
  • LightLight

关于



    No Child Pages.

Linux命令手册



    No Child Pages.

php.ini配置



    No Child Pages.

Memcache协议



    No Child Pages.