高手帮我解释一段php代码
是一段php数据的链接代码,由于字数有限,我就发在我空间里了。http://hi.baidu.com/408619/blog/item/026a101ba0a8de0f8...
是一段php数据的链接代码,由于字数有限,我就发在我空间里了。
http://hi.baidu.com/408619/blog/item/026a101ba0a8de0f8718bfec.html
希望高手能帮我发一份比较详细的注释,方便我以后学习。里面的函数调用之类的,我也略知道一些,只是这份代码多了,就不知道什么意思。搞糊涂了。
我的信箱是iisnt@qq.com,注释好了,发给我吧,谢谢了。 展开
http://hi.baidu.com/408619/blog/item/026a101ba0a8de0f8718bfec.html
希望高手能帮我发一份比较详细的注释,方便我以后学习。里面的函数调用之类的,我也略知道一些,只是这份代码多了,就不知道什么意思。搞糊涂了。
我的信箱是iisnt@qq.com,注释好了,发给我吧,谢谢了。 展开
展开全部
/*参数
$server 数据库地址
$username 数据库用户名
$password 数据库密码
$database 数据库名
$$link 数据库链接对象
*/
function sql_connect($server = DB_SERVER, $username = DB_SERVER_USERNAME, $password = DB_SERVER_PASSWORD, $database = DB_DATABASE, $link = 'db_link')
{
global $$link;
//是否开启数据库持久连接
if (USE_PCONNECT == 'true') {
$$link = mysql_pconnect($server, $username, $password); //开启持久连接
} else {
$$link = mysql_connect($server, $username, $password); //不开启持久连接
}
if ($$link) mysql_select_db($database); //如果连接上库则选择具体的数据库
//查询数据库版本,如果版本高于4,则设置数据库编码方式为utf8
if (intval(substr(mysql_get_server_info(), 0, 1) >= 4)){
//设置数据库编码方式
mysql_query('set names utf8');
}
//返回数据库连接对象
return $$link;
}
function sql_close($link = 'db_link') {
global $$link;
//关闭数据库连接对象
return mysql_close($$link);
}
//定义显示MYSQL执行错误信息函数
function sql_error($query, $errno, $error) {
die('<font color="#000000"><b>' . $errno . ' - ' . $error . '<br><br>' . $query . '<br><br><small><font color="#ff0000">[TEP STOP]</font></small><br><br></b></font>');
}
function sql_query($query) {
//mysql_query函数是用来执行SQL语句的,返回结果集
$result = mysql_query($query) or sql_error($query, mysql_errno(), mysql_error());
return $result;
}
function sql_perform($table, $data, $action = 'insert', $parameters = '', $link = 'db_link')
{
reset($data); //将数组的内部指针指向第一个单元
if ($action == 'insert') {
$query = 'insert into ' . $table . ' ('; //字符串的拼接
while (list($columns, ) = each($data)) {
$query .= $columns . ', '; //字符串的拼接
}
$query = substr($query, 0, -2) . ') values ('; //字符串的拼接
reset($data); //将数组的内部指针指向第一个单元
while (list(, $value) = each($data)) {
//(string)为强制转换成字符串
switch ((string)$value) {
case 'now()':
$query .= 'now(), '; //字符串的拼接
break;
case 'null':
$query .= 'null, '; //字符串的拼接
break;
default:
$query .= '\'' . sql_input($value) . '\', '; //使用函数sql_input
break;
}
}
$query = substr($query, 0, -2) . ')'; //字符串的拼接
} elseif ($action == 'update') {
$query = 'update ' . $table . ' set '; //字符串的拼接
while (list($columns, $value) = each($data)) {
switch ((string)$value) {
case 'now()':
$query .= $columns . ' = now(), '; //字符串的拼接
break;
case 'null':
$query .= $columns .= ' = null, '; //字符串的拼接
break;
default:
$query .= $columns . ' = \'' . sql_input($value) . '\', '; //字符串的拼接
break;
}
}
//substr()为截取字符串函数,以下表示的是从头到倒数第二个字符结束的字符串
$query = substr($query, 0, -2) . ' where ' . $parameters; //字符串的拼接
}
//返回执行该字符串
return sql_query($query, $link);
}
function sql_fetch_array($db_query) {
return mysql_fetch_array($db_query, MYSQL_ASSOC); //从结果集中取得一行作为关联数组,或数字数组,或二者兼有
}
function sql_result($result, $row, $field = '') {
return mysql_result($result, $row, $field); //取得结果数据
}
function sql_num_rows($db_query) {
return mysql_num_rows($db_query); //取得结果集中行的数目
}
function sql_data_seek($db_query, $row_number) {
return mysql_data_seek($db_query, $row_number); //移动内部结果的指针
}
function sql_insert_id() {
return mysql_insert_id(); //取得上一步 INSERT 操作产生的 ID
}
function sql_free_result($db_query) {
return mysql_free_result($db_query); //释放结果内存
}
function sql_fetch_fields($db_query) {
return mysql_fetch_field($db_query); //从结果集中取得列信息并作为对象返回
}
function sql_output($string) {
return htmlspecialchars($string); //对字符转义成html代码如“<”转义后为“<”
}
function sql_input($string) {
return addslashes($string); //对字符进行使用反斜线引用字符串
}
//以下函数作用为当传入参数为字符串时返回去掉空格的字符串
//如果传入的为数组时分两种情况,如果是一位数组则转换成二维数组,如果是比一维数组大的数组则返回结构不变
function sql_prepare_input($string)
{
if (is_string($string)) {
//如果为字符串
return trim(stripslashes($string));
} elseif (is_array($string)) {
//如果是数组
reset($string);
while (list($key, $value) = each($string)) {
//递归调用自己
$string[$key] = sql_prepare_input($value);
}
return $string;
} else {
return $string;
}
}
具体字符串怎么拼的得自己体会。说不出来、呵呵
$server 数据库地址
$username 数据库用户名
$password 数据库密码
$database 数据库名
$$link 数据库链接对象
*/
function sql_connect($server = DB_SERVER, $username = DB_SERVER_USERNAME, $password = DB_SERVER_PASSWORD, $database = DB_DATABASE, $link = 'db_link')
{
global $$link;
//是否开启数据库持久连接
if (USE_PCONNECT == 'true') {
$$link = mysql_pconnect($server, $username, $password); //开启持久连接
} else {
$$link = mysql_connect($server, $username, $password); //不开启持久连接
}
if ($$link) mysql_select_db($database); //如果连接上库则选择具体的数据库
//查询数据库版本,如果版本高于4,则设置数据库编码方式为utf8
if (intval(substr(mysql_get_server_info(), 0, 1) >= 4)){
//设置数据库编码方式
mysql_query('set names utf8');
}
//返回数据库连接对象
return $$link;
}
function sql_close($link = 'db_link') {
global $$link;
//关闭数据库连接对象
return mysql_close($$link);
}
//定义显示MYSQL执行错误信息函数
function sql_error($query, $errno, $error) {
die('<font color="#000000"><b>' . $errno . ' - ' . $error . '<br><br>' . $query . '<br><br><small><font color="#ff0000">[TEP STOP]</font></small><br><br></b></font>');
}
function sql_query($query) {
//mysql_query函数是用来执行SQL语句的,返回结果集
$result = mysql_query($query) or sql_error($query, mysql_errno(), mysql_error());
return $result;
}
function sql_perform($table, $data, $action = 'insert', $parameters = '', $link = 'db_link')
{
reset($data); //将数组的内部指针指向第一个单元
if ($action == 'insert') {
$query = 'insert into ' . $table . ' ('; //字符串的拼接
while (list($columns, ) = each($data)) {
$query .= $columns . ', '; //字符串的拼接
}
$query = substr($query, 0, -2) . ') values ('; //字符串的拼接
reset($data); //将数组的内部指针指向第一个单元
while (list(, $value) = each($data)) {
//(string)为强制转换成字符串
switch ((string)$value) {
case 'now()':
$query .= 'now(), '; //字符串的拼接
break;
case 'null':
$query .= 'null, '; //字符串的拼接
break;
default:
$query .= '\'' . sql_input($value) . '\', '; //使用函数sql_input
break;
}
}
$query = substr($query, 0, -2) . ')'; //字符串的拼接
} elseif ($action == 'update') {
$query = 'update ' . $table . ' set '; //字符串的拼接
while (list($columns, $value) = each($data)) {
switch ((string)$value) {
case 'now()':
$query .= $columns . ' = now(), '; //字符串的拼接
break;
case 'null':
$query .= $columns .= ' = null, '; //字符串的拼接
break;
default:
$query .= $columns . ' = \'' . sql_input($value) . '\', '; //字符串的拼接
break;
}
}
//substr()为截取字符串函数,以下表示的是从头到倒数第二个字符结束的字符串
$query = substr($query, 0, -2) . ' where ' . $parameters; //字符串的拼接
}
//返回执行该字符串
return sql_query($query, $link);
}
function sql_fetch_array($db_query) {
return mysql_fetch_array($db_query, MYSQL_ASSOC); //从结果集中取得一行作为关联数组,或数字数组,或二者兼有
}
function sql_result($result, $row, $field = '') {
return mysql_result($result, $row, $field); //取得结果数据
}
function sql_num_rows($db_query) {
return mysql_num_rows($db_query); //取得结果集中行的数目
}
function sql_data_seek($db_query, $row_number) {
return mysql_data_seek($db_query, $row_number); //移动内部结果的指针
}
function sql_insert_id() {
return mysql_insert_id(); //取得上一步 INSERT 操作产生的 ID
}
function sql_free_result($db_query) {
return mysql_free_result($db_query); //释放结果内存
}
function sql_fetch_fields($db_query) {
return mysql_fetch_field($db_query); //从结果集中取得列信息并作为对象返回
}
function sql_output($string) {
return htmlspecialchars($string); //对字符转义成html代码如“<”转义后为“<”
}
function sql_input($string) {
return addslashes($string); //对字符进行使用反斜线引用字符串
}
//以下函数作用为当传入参数为字符串时返回去掉空格的字符串
//如果传入的为数组时分两种情况,如果是一位数组则转换成二维数组,如果是比一维数组大的数组则返回结构不变
function sql_prepare_input($string)
{
if (is_string($string)) {
//如果为字符串
return trim(stripslashes($string));
} elseif (is_array($string)) {
//如果是数组
reset($string);
while (list($key, $value) = each($string)) {
//递归调用自己
$string[$key] = sql_prepare_input($value);
}
return $string;
} else {
return $string;
}
}
具体字符串怎么拼的得自己体会。说不出来、呵呵
展开全部
汗这么简单的代码 还要注释啊?但代码太长了,我又不知你哪里会,哪里不会.你又不说/
不就几个内容吗?
开头定义常量几个常量(我最讨厌这些扮高手的代码)->写了数据库连接,关闭,连接错误时处理方法,执行数据库语言方法,还有几个本来一句话就能实现的,他又重写了的方法.乱七八糟的一堆东西->跟着调用循环输出..
你没给分 只能这样说
不就几个内容吗?
开头定义常量几个常量(我最讨厌这些扮高手的代码)->写了数据库连接,关闭,连接错误时处理方法,执行数据库语言方法,还有几个本来一句话就能实现的,他又重写了的方法.乱七八糟的一堆东西->跟着调用循环输出..
你没给分 只能这样说
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
哪不懂你说吧
追问
就是里面那些函数里面的代码是什么意思..
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询