ホームページ  >  記事  >  php教程  >  深入探讨PHP删除数据库表的具体方式

深入探讨PHP删除数据库表的具体方式

WBOY
WBOYオリジナル
2016-06-13 11:07:24920ブラウズ

在我们对网站进行更新维护时,可能对删除相同数据库表的操作比较头疼,今天我们就向大家具体讲解PHP删除数据库表具体实现代码如下

<ol class="dp-xml">
<li class="alt"><span><span>function deldata($dbname,$tableflag){  </span></span></li>
<li>
<span>$</span><span class="attribute">db_host</span><span> = </span><span class="attribute-value">'localhost'</span><span>;  </span>
</li>
<li class="alt">
<span>$</span><span class="attribute">db_port</span><span> = </span><span class="attribute-value">'3306'</span><span>;  </span>
</li>
<li>
<span>$</span><span class="attribute">db_user</span><span> = </span><span class="attribute-value">'user'</span><span>;  </span>
</li>
<li class="alt">
<span>$</span><span class="attribute">db_pass</span><span> = </span><span class="attribute-value">'password'</span><span>;  </span>
</li>
<li>
<span>$</span><span class="attribute">connect</span><span> =</span><span class="attribute-value">mysql_connect</span><span>($db_host,$db_user,$db_pass);  </span>
</li>
<li class="alt"><span>mysql_select_db($dbname);  </span></li>
<li>
<span>$</span><span class="attribute">result</span><span> = </span><span class="attribute-value">mysql_query</span><span>("show table status from $dbname",$connect);  </span>
</li>
<li class="alt">
<span>$</span><span class="attribute">data</span><span>=</span><span class="attribute-value">mysql_fetch_array</span><span>($result);  </span>
</li>
<li>
<span>while($</span><span class="attribute">data</span><span>=</span><span class="attribute-value">mysql_fetch_array</span><span>($result)) {  </span>
</li>
<li class="alt">
<span>$</span><span class="attribute">table</span><span>=</span><span class="attribute-value">mysubstr</span><span>($data[Name],"_");  </span>
</li>
<li>
<span>if($</span><span class="attribute">table</span><span>==$tableflag){  </span>
</li>
<li class="alt"><span>//测试之用  </span></li>
<li><span>/*echo $data[Name];  </span></li>
<li class="alt"><span>        echo "  </span></li>
<li><span>";  </span></li>
<li class="alt"><span>        echo $table;  </span></li>
<li><span>        echo "  </span></li>
<li class="alt"><span>";*/  </span></li>
<li><span>mysql_query("drop table $data[Name]");  </span></li>
<li class="alt"><span>}  </span></li>
<li><span>}  </span></li>
<li class="alt"><span>return true;  </span></li>
<li><span>}  </span></li>
<li class="alt"><span>/*截取某个特定字符前的所有字符函数  </span></li>
<li><span>*$str 为待截取字符串  </span></li>
<li class="alt"><span>*$flag 特定字符如“_”  </span></li>
<li><span>*/  </span></li>
<li class="alt"><span>function mysubstr($str,$flag){  </span></li>
<li>
<span>$</span><span class="attribute">pos</span><span>=</span><span class="attribute-value">strpos</span><span>($str,$flag);  </span>
</li>
<li class="alt"><span>return substr($str,0,$pos);  </span></li>
<li><span>}  </span></li>
<li class="alt">
<span class="tag">?></span><span> </span>
</li>
</ol>

<ol class="dp-xml">
<li class="alt"><span><span>$</span><span class="attribute">dbname</span><span>=</span><span class="attribute-value">"shujukuming"</span><span>;//数据库名  </span></span></li>
<li>
<span>$</span><span class="attribute">tableflag</span><span>=</span><span class="attribute-value">"xx"</span><span>;//要删除的表的前缀,有这个前缀的表才删除,标志出是哪一个用户  </span>
</li>
<li class="alt"><span>deldata($dbname,$tableflag);  </span></li>
<li>
<span>//$</span><span class="attribute">test</span><span>=</span><span class="attribute-value">mysubstr</span><span>("cdb_account_log","_");  </span>
</li>
<li class="alt"><span>//echo $test;  </span></li>
<li>
<span class="tag">?></span><span> </span>
</li>
</ol>

PHP删除数据库表更改之处在:

1.开头处

<ol class="dp-xml">
<li class="alt"><span><span>function deldata($dbname,$tableflag){  </span></span></li>
<li>
<span>$</span><span class="attribute">db_host</span><span> = </span><span class="attribute-value">'localhost'</span><span>;  </span>
</li>
<li class="alt">
<span>$</span><span class="attribute">db_port</span><span> = </span><span class="attribute-value">'3306'</span><span>;  </span>
</li>
<li>
<span>$</span><span class="attribute">db_user</span><span> = </span><span class="attribute-value">'user'</span><span>;  </span>
</li>
<li class="alt">
<span>$</span><span class="attribute">db_pass</span><span> = </span><span class="attribute-value">'password'</span><span>;  </span>
</li>
</ol>

改为自己的数据库地址,账号和密码即可

2.结尾处

<ol class="dp-xml">
<li class="alt"><span><span>$</span><span class="attribute">dbname</span><span>=</span><span class="attribute-value">"shujukuming"</span><span>;//数据库名  </span></span></li>
<li>
<span>$</span><span class="attribute">tableflag</span><span>=</span><span class="attribute-value">"xx"</span><span>;//要删除的表的前缀,有这个前缀的表才删除,标志出是哪一个用户  </span>
</li>
<li class="alt"><span>deldata($dbname,$tableflag);  </span></li>
<li>
<span>//$</span><span class="attribute">test</span><span>=</span><span class="attribute-value">mysubstr</span><span>("cdb_account_log","_");  </span>
</li>
<li class="alt"><span>//echo $test;  </span></li>
<li>
<span class="tag">?></span><span> </span>
</li>
<li class="alt"><span> </span></li>
</ol>

改为自己的数据库名和想删掉的表前缀就可完成PHP删除数据库表。
可以复制上面的代码保存为.php,再上传到空间目录打开
推荐可以下载此.php文件http://flysh.toypark.in//up/1255275586.umd下载后改后缀为php,名字自取再上传打开即可。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。