mysql 数据库连查询类
mysql 数据库连查询类
class mysqlquery
{
var $sql;//sql语句执行结果
var $query;//sql语句
var $num;//返回记录数
var $r;//返回数组
var $id;//返回数据库id号
//执行mysql_query()语句
function query($query)
{
$this->sql=mysql_query($query) or die(mysql_error
()."<br>".$query);
return $this->sql;
}
//执行mysql_query()语句2
function query1($query)
{
$this->sql=mysql_query($query);
return $this->sql;
}
//执行mysql_fetch_array()
function fetch($sql)//此方法的参数是$sql就是sql语句执行结果
{
$this->r=mysql_fetch_array($sql);
return $this->r;
}
//执行fetchone(mysql_fetch_array())
//此方法与fetch()的区别是:1、此方法的参数是$query就是sql语句
//2、此方法用于while(),for()数据库指针不会自动下移,而fetch()可以自
动下移。
function fetch1($query)
{
$this->sql=$this->query($query);
$this->r=mysql_fetch_array($this->sql);
return $this->r;
}
//执行mysql_num_rows()
function num($query)//此类的参数是$query就是sql语句
{
$this->sql=$this->query($query);
$this->num=mysql_num_rows($this->sql);
return $this->num;
}
//执行numone(mysql_num_rows())
//此方法与num()的区别是:1、此方法的参数是$sql就是sql语句的执行结果
。
function num1($sql)
{
$this->num=mysql_num_rows($sql);
return $this->num;
}
//执行numone(mysql_num_rows())
//统计记录数
function gettotal($query)
{
$this->r=$this->fetch1($query);
return $this->r['total'];
}
//执行free(mysql_result_free())
//此方法的参数是$sql就是sql语句的执行结果。只有在用到
mysql_fetch_array的情况下用
function free($sql)
{
mysql_free_result($sql);
}
//执行seek(mysql_data_seek())
//此方法的参数是$sql就是sql语句的执行结果,$pit为执行指针的偏移数
function seek($sql,$pit)
{
mysql_data_seek($sql,$pit);
}
//执行id(mysql_insert_id())
function lastid()//取得最后一次执行mysql数据库id号
{
$this->id=mysql_insert_id();
return $this->id;
}
}
php 字符截取函数
function sub_str($title,$lengh){
if(strlen($title)>$lengh)
{
$pp=2;
$len=strlen($title);
if($len%2<>0)
{$pp=1;}
$title=substr($title,0,$lengh-$pp);
$title=$title.' …';
}
return $title;
}
//--------------------------------------字符截取函数2
function sub($Modi_Str,$start,$length,$mode = false){
$n = 0;
for($i=0;$i<$start;$i++){
if(ord(substr($Modi_Str,$i,1))>0xa0){
if($mode){
$start++;
$i++;
}
$n++;
}
}
if(!$mode)$start = $start + $n%2;
$The_length = $start+$length;
for($i=$start;$i<$The_length;$i++){
if(ord(substr($Modi_Str,$i,1))>0xa0){
$The_Str.=substr($Modi_Str,$i,2);
$i++;
if($mode) $The_length++;
}else{
$The_Str.=substr($Modi_Str,$i,1);
}
}
return $The_Str;
}
php 创建数据[crate database]与清空数据表
function Ebak_CreatDb($dbname,$dbchar=''){
global $empire,$phome_db_ver;
$dbname=RepPostVar($dbname);
if(!trim($dbname))
{
printerror("EmptyDbname","history.go(-1)");
}
$a="";
if($dbchar&&$phome_db_ver>='4.1')
{
$a=" DEFAULT CHARACTER SET ".$dbchar;
}
$sql=$empire->query("CREATE DATABASE IF NOT EXISTS `$dbname`".$a);
if($sql)
{
printerror("CreateDbSuccess","ChangeDb.php");
}
else
{printerror("DbError","history.go(-1)");}
}
//--------------------------清空表
function Ebak_EmptyTable($tablename,$dbname){
global $empire;
$dbname=RepPostVar($dbname);
$empire->query("use `$dbname`");
$count=count($tablename);
if(empty($count))
{printerror("EmptyChangeTb","history.go(-1)");}
for($i=0;$i<$count;$i++)
{
$sql1=$empire->query("TRUNCATE `".$tablename[$i]."`;");
}
printerror("TruncateTbSuccess","ChangeTable.php?mydbname=$dbname");
}
php 修复表与优化数据表
//--------------------------修复表
function Ebak_Rep($tablename,$dbname){
global $empire;
$dbname=RepPostVar($dbname);
$empire->query("use `$dbname`");
$count=count($tablename);
if(empty($count))
{
printerror("EmptyChangeTb","history.go(-1)");
}
for($i=0;$i<$count;$i++)
{
$sql1=$empire->query("REPAIR TABLE `$tablename[$i]`;");
}
printerror("RepairTbSuccess","ChangeTable.php?mydbname=$dbname");
}
//--------------------------忧化表
function Ebak_Opi($tablename,$dbname){
global $empire;
$dbname=RepPostVar($dbname);
$empire->query("use `$dbname`");
$count=count($tablename);
if(empty($count))
{
printerror("EmptyChangeTb","history.go(-1)");
}
for($i=0;$i<$count;$i++)
{
$sql1=$empire->query("OPTIMIZE TABLE `$tablename[$i]`;");
}
printerror("OptimizeTbSuccess","ChangeTable.php?mydbname=$dbname");
}
php 域名转发程序是我从其它地方看到了,通过xml与php交换实现的,下面我们来看看源文件吧。
<?xml version="1.0" encoding="utf-8"?>
<urls>
<num>1</num>
<url id="1">
<domain>test.domain.com</domain>
<to>http://www.111cn.net/to>
</url>
</urls>
index.php文件。
<?php
/*
域名伪跳转方案
By IVershuo.cn
*/
header("content-type:text/html; charset=utf-8");
$xml = simplexml_load_file("url.xml"); //xml文件路径
$to = 'http://www.111cn.net'; //默认跳转地址
foreach ($xml as $key => $value) {
if($value->domain == $_SERVER['SERVER_NAME']) {
$to = $value->to;
break;
}
}
header('Location: '.$to);
?>
处理文件
<?php
/*
域名伪跳转方案,域名跳转配置脚本
###注意:没设置验证可配置,使用时请修改该文件名和xml文件名!!!
By IVershuo.cn
*/
$xmlFile = 'url.xml'; //xml文件的路径
$xml = simplexml_load_file($xmlFile);
$num = $xml->num[0];
if (@$_POST['domain'] && $_POST['to']) {
$xmlUrl = $xml->addChild('url');
$xmlUrl->addAttribute('id',$num+=1);
$xmlUrl->addChild('domain',$_POST['domain']);
$xmlUrl->addChild('to',$_POST['to']);
$xml->num[0] = $num;
}
if (@$_GET['del']) {
removeNode($xml, "//url[@id='".$_GET['del']."']", 'all');
$xml->num[0] = $num;
}
$sp = fopen($xmlFile,"wb");
fwrite($sp,$xml->asXML());
fclose($sp);
function removeNode($xml, $path, $multi='one'){
$result = $xml->xpath($path);
# for wrong $path
if (!isset($result[0])) return false;
switch ($multi) {
case 'all':
$errlevel = error_reporting(E_ALL & ~E_WARNING);
foreach ($result as $r) unset ($r[0]);
error_reporting($errlevel);
return true;
case 'child':
unset($result[0][0]);
return true;
case 'one':
if (count($result[0]->children())==0 && count($result)==1) {
unset($result[0][0]);
return true;
}
default:
return false;
}
}
echo '<?xml version="1.0" encoding="utf-8"?>'."n";
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-cn" lang="zh-cn">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>域名添加</title>
<meta name="author" content="阿肆|IVershuo.cn" />
<style type="text/css">
label {display:block;margin:10px 0;}
input {width:300px;}
label span {color:#666;}
</style>
<script type="text/javascript" src=""></script>
</head>
<body>
<h1>域名转向添加</h1>
<div>
<form action="<?=$_SERVER ['PHP_SELF']?>" method="post">
<fieldset>
<legend>域名添加</legend>
<label for="domain">
域名:
http://<input type="text" name="domain" id="domain" />
<span>不用加“http://”</span>
</label>
<label for="to">
转向:
<input type="text" name="to" id="to" value="http://" />
<span>前面添加“http://”或“https://”等</span>
</label>
<button type="submit">提交</button>
</fieldset>
</form>
</div>
<div>
<ul id="listed">
<?php
$i=0;
foreach ($xml as $key => $value) {
if($key == 'url') {
echo '<li><em>http://'.$value->domain.'</em>跳转到<a href="'.$value->to.'">'.$value->to.'</a> <a href="'.$_SERVER ['PHP_SELF'].'?del='.$xml->url[$i]['id'].'">>删除<</a></li>';
$i++;
}
}
?>
<script type="text/javascript">
var li=document.getElementById('listed').getElementsByTagName('li');
for (var i=0,l=li.length;i<l ;i++ ) {
li[i].getElementsByTagName('a')[1].onclick=function () {
var u = this.parentNode.getElementsByTagName('em')[0].innerHTML;
if (confirm ('确定要删除 '+u+' 的转向?')) {
return true;
} else {
return false;
}
}
}
</script>
</ul>
</div>
</body>
</html>
相关文章
- 操作类就是把一些常用的一系列的数据库或相关操作写在一个类中,这样调用时我们只要调用类文件,如果要执行相关操作就直接调用类文件中的方法函数就可以实现了,下面整理了...2016-11-25
- 本文给大家分享C#连接SQL数据库和查询数据功能的操作技巧,本文通过图文并茂的形式给大家介绍的非常详细,需要的朋友参考下吧...2021-05-17
- 这篇文章主要介绍了Mybatis Plus select 实现只查询部分字段的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-09-01
- 最基础的对数据的增加删除修改操作实例,菜鸟们收了吧...2013-09-26
- 这篇文章主要介绍了C#从数据库读取图片并保存的方法,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下...2021-01-16
- 这篇文章主要介绍了解决Mybatis 大数据量的批量insert问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-01-09
Antd-vue Table组件添加Click事件,实现点击某行数据教程
这篇文章主要介绍了Antd-vue Table组件添加Click事件,实现点击某行数据教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-11-17- 这篇文章主要介绍了详解如何清理redis集群的所有数据,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-18
- 这篇文章主要介绍了Intellij IDEA连接Navicat数据库的方法,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借价值,需要的朋友可以参考下...2021-03-25
- 在开发过程中,我们经常会将日期时间的毫秒数存放到数据库,但是它对应的时间看起来就十分不方便,我们可以使用一些函数将毫秒转换成date格式。 一、 在MySQL中,有内置的函数from_unixtime()来做相应的转换,使用如下: 复制...2014-05-31
- 这篇文章主要介绍了vue 获取到数据但却渲染不到页面上的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-11-19
- C#使用System.IO中的文件操作方法在Windows系统中处理本地文件相当顺手,这里我们还总结了在Oracle中保存文件的方法,嗯,接下来就来看看整理的C#操作本地文件及保存文件到数据库的基本方法总结...2020-06-25
- 通过内网连另外一台机器的mysql服务, 确发现速度N慢! 等了大约几十秒才等到提示输入密码。 但是ping mysql所在服务器却很快! 想到很久之前有过类似的经验, telnet等一些服务在连接请求的时候,会做一些反向域名解析(如果...2015-10-21
- 某些时候,例如为了搭建一个测试环境,或者克隆一个网站,需要复制一个已存在的mysql数据库。使用以下方法,可以非常简单地实现。假设已经存在的数据库名字叫db1,想要复制一份,命名为newdb。步骤如下:1. 首先创建新的数据库newd...2015-10-21
- 在php中解析xml文档用专门的函数domdocument来处理,把json在php中也有相关的处理函数,我们要把数据xml 数据存到一个数据再用json_encode直接换成json数据就OK了。...2016-11-25
- 这篇文章主要介绍了mybatis-plus 处理大数据插入太慢的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-12-18
MyBatisPlus-QueryWrapper多条件查询及修改方式
这篇文章主要介绍了MyBatisPlus-QueryWrapper多条件查询及修改方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2022-06-27- mysqldump命令的用法1、导出所有库系统命令行mysqldump -uusername -ppassword --all-databases > all.sql 2、导入所有库mysql命令行mysql>source all.sql; 3、导出某些库系统命令行mysqldump -uusername -ppassword...2015-10-21
- 这篇文章主要介绍了node.js如何操作MySQL数据库,帮助大家更好的进行web开发,感兴趣的朋友可以了解下...2020-10-29
- 1005:创建表失败1006:创建数据库失败1007:数据库已存在,创建数据库失败1008:数据库不存在,删除数据库失败1009:不能删除数据库文件导致删除数据库失败1010:不能删除数据目录导致删除数据库失败1011:删除数据库...2013-09-23