php+mysql 获取数据库中的记录(特别是高效的分页功能)
(做为现在的主流开发语言)
/**
*php(做为现在的主流开发语言)+MySQL(和PHP搭配之最佳组合)数据库基本功能
*http://blog.csdn.net/yown
*/
############################################
#获取序列ID
############################################
function getSequence() {
$sql = "update sequence set id=last_insert_id(id+1);";
$sql2= "select last_insert_id();";
global $dbuser,$dbpass,$host,$database,$printsql;
$link = MySQL(和PHP搭配之最佳组合)_connect($host,$dbuser,$dbpass);
if(! $link){
return MySQL(和PHP搭配之最佳组合)_error();
}
MySQL(和PHP搭配之最佳组合)_select_db($database);
MySQL(和PHP搭配之最佳组合)_query("SET NAMES UTF8");
if($printsql) echo "
".$sql."
";
MySQL(和PHP搭配之最佳组合)_query($sql);
if($printsql) echo "
".$sql2."
";
$result = MySQL(和PHP搭配之最佳组合)_query($sql2);
if(MySQL(和PHP搭配之最佳组合)_num_rows($result)==0){
MySQL(和PHP搭配之最佳组合)_close($link);
return "";
}
$myrow = MySQL(和PHP搭配之最佳组合)_fetch_row($result);
$ret=$myrow[0];
MySQL(和PHP搭配之最佳组合)_close($link);
return $ret;
}
############################################
#获取strSql第N条记录中的第N列数据,下标从1开始
############################################
function getData($strsql,$row,$col) {
global $dbuser,$dbpass,$host,$database,$printsql;
$link = MySQL(和PHP搭配之最佳组合)_connect($host,$dbuser,$dbpass);
if(! $link){
return MySQL(和PHP搭配之最佳组合)_error();
}
MySQL(和PHP搭配之最佳组合)_select_db($database);
MySQL(和PHP搭配之最佳组合)_query("SET NAMES UTF8");
if($printsql) echo "
".$strsql."
";
$result = MySQL(和PHP搭配之最佳组合)_query($strsql);
if(MySQL(和PHP搭配之最佳组合)_num_rows($result)==0){
MySQL(和PHP搭配之最佳组合)_close($link);
return "";
}
$i=0;
while($myrow = MySQL(和PHP搭配之最佳组合)_fetch_row($result)){
if($i==$row-1){
$ret=$myrow[$col-1];
break;
}
$i=$i+1;
}
MySQL(和PHP搭配之最佳组合)_close($link);
return $ret;
}
############################################
#获取strSql第N条记录
############################################
function getRowData($strsql,$row) {
global $dbuser,$dbpass,$host,$database,$printsql;
$link = MySQL(和PHP搭配之最佳组合)_connect($host,$dbuser,$dbpass);
if(! $link){
return MySQL(和PHP搭配之最佳组合)_error();
}
MySQL(和PHP搭配之最佳组合)_select_db($database);
MySQL(和PHP搭配之最佳组合)_query("SET NAMES UTF8");
if($printsql) echo "
".$strsql."
";
$result = MySQL(和PHP搭配之最佳组合)_query($strsql);
if(MySQL(和PHP搭配之最佳组合)_num_rows($result)==0){
MySQL(和PHP搭配之最佳组合)_close($link);
return "";
}
$i=0;
while($myrow = MySQL(和PHP搭配之最佳组合)_fetch_array($result)){
if($i==$row-1){
$ret=$myrow;
break;
}
$i=$i+1;
}
MySQL(和PHP搭配之最佳组合)_close($link);
return $ret;
}
############################################
#获取strSql记录集存入数组中
############################################
function getResultSetData($strsql) {
global $dbuser,$dbpass,$host,$database,$printsql;
$link = MySQL(和PHP搭配之最佳组合)_connect($host,$dbuser,$dbpass);
if(! $link){
return MySQL(和PHP搭配之最佳组合)_error();
}
MySQL(和PHP搭配之最佳组合)_select_db($database);
MySQL(和PHP搭配之最佳组合)_query("SET NAMES UTF8");
if($printsql) echo "
".$strsql."
";
$result = MySQL(和PHP搭配之最佳组合)_query($strsql);
if(MySQL(和PHP搭配之最佳组合)_num_rows($result)==0){
MySQL(和PHP搭配之最佳组合)_close($link);
return "";
}
while($myrow = MySQL(和PHP搭配之最佳组合)_fetch_array($result)){
$ret[]=$myrow;
}
MySQL(和PHP搭配之最佳组合)_close($link);
return $ret;
}