php与mysql删除指定编号的员工信息

 更新时间:2016年11月25日 16:34  点击:2067
利用php提交员工编号给mysql,然后由mysql把数据接受并利用delete进行数据删除操作了,下面我来给大家分享几个例子。

delete 语句的示例:

 代码如下 复制代码

delete from friends where user_name = 'simaopig';

语法结构中,我们就可以看出,和 update 语法一样,我们是可以省略 where 子句的。不过这是一个很危险的行为。因为如果不指定 where 子句,delete 将删除表中所有的记录,而且是立即删除

1.删除指定编号的员工信息

 代码如下 复制代码

<html>
<head>
</head>
<body>
<center>员工信息表</center>
<table border="1" align='center'>
<thead><tr><th>编号</th><th>姓名</th><th>年龄</th></tr></thead>
<tbody>
<?php
header("Content-type:text/html; charset=utf-8");
$_SESSION['arr']=array('1'=>array('name'=>'张三','age'=>18),'2'=>array('name'=>'李四','age'=>19),'3'=>array('name'=>'王五','age'=>20));
if(!empty($_POST['num'])){
unset($_SESSION['arr'][$_POST['num']]); //删除指定id的员工信息
}
if(isset($_SESSION['arr'])){
foreach ($_SESSION['arr'] as $k => $v) {
echo "<tr><td>".($k)."</td><td>".$v['name']."</td><td>".$v['age']."</td></tr>";
}
}
 
?>
</tbody>
</table>
 
<form method='post' action=""><br>
<center>
<b>输入员工编号:</b>
<input type="text" name="num" size='5'><br>
<input type='submit' value='删除' name='sub' class='btn'>
</center>
</form>
</body>
</html>

2.员工信息批量删除例子

关键技术
本实例的关键点是while()循环语句的灵活运用。根据提交的参数值,执行while()循环语句,在循环体重执行删除操作,完成数据的循环删除操作。
设计过程
(1)创建PHP脚本文件。首先,连接MySQL数据库服务器,连接MySQL中名称为db_while的数据库,并设置页面的编码格式。然后,定义循环变量变量$a和$b,将第1层while循环中的循环条件设置为$b<$a,然后,再次利用while语句循环输出数据表中的数据,并执行数据的删除操作,其代码如下:

 代码如下 复制代码

<?php
if($_POST[sub]){ //通过POST方式获取参数
 $conn=mysql_connect("localhost","root","111"); //连接mysql数据库
 mysql_select_db("db_while",$conn); //连接数据库
 mysql_query("SET NAMES GBK");//定义编码格式
 $a=$_POST[te];//接收文本框参数
 $b=0;//定义变量
while($b<$a){//while循环
 $rs=mysql_query("select * from tb_while");//执行查询操作
 while($rst=mysql_fetch_array($rs)){//将查询结果保存在数组中
$sql="delete * from tb_while where id=$b"; //sql语句
mysql_query($sql);//执行删除操作
echo"姓名为".$rst[name]."的员工已被删除<br>";//输出被删除的员工姓名
$b++
 }
 }

}
?>

(2)将该文件存储于MR266文件夹下,命名为index.php。

下面是一个站长写的一个非常简单实用的数据库操作类了,这里面主要功能是数据库连接,查询数据,删除数据,更新数据等等,这个类的特点时不限制mysql而是直接执行由外部给出的sql语句了。

例子

 代码如下 复制代码

<?php
class SqlTool{
private $conn;
private $host=”localhost”;
private $user=”root”;
private $password=”";
private $db=”bbs”;
function sqlTool(){
$this->conn=mysql_connect(“$this->host”,”$this->user”,”$this->password”);
mysql_select_db($this->db,$this->conn);
mysql_query(“set names gbk”);
}
function executedql($sql){
$res=mysql_query($sql);
return $res;
}
function executedml($sql){
$b=mysql_query($sql);
if(!$b){
echo “操作失败”;
}else{
if(mysql_affected_rows($this->conn)>0){
echo “操作成功”;
}else{
echo “没有影响到行数”;
}
}
mysql_close($this->conn);
}
}
?>

操作类就是把一些常用的一系列的数据库或相关操作写在一个类中,这样调用时我们只要调用类文件,如果要执行相关操作就直接调用类文件中的方法函数就可以实现了,下面整理了一个Memcache数据缓存操作类库文件,希望对各位会有帮助了。

例子,代码如下

 代码如下 复制代码

class memcachedInit {
private $memcache;

/**
 * Memcache缓存-设置缓存
 * 设置缓存key,value和缓存时间
 * @param  string $key   KEY值
 * @param  string $value 值
 * @param  string $time  缓存时间
 */
public function set_cache($key, $value, $time = 0) {
return $this->memcache->set($key, $value, false, $time);
}

/**
 * Memcache缓存-获取缓存
 * 通过KEY获取缓存数据
 * @param  string $key   KEY值
 */
public function get_cache($key) {
return $this->memcache->get($key);
}

/**
 * Memcache缓存-清除一个缓存
 * 从memcache中删除一条缓存
 * @param  string $key   KEY值
 */
public function clear($key) {
return $this->memcache->delete($key);
}

/**
 * Memcache缓存-清空所有缓存
 * 不建议使用该功能
 * @return
 */
public function clear_all() {
return $this->memcache->flush();
}

/**
 * 字段自增-用于记数
 * @param string $key  KEY值
 * @param int    $step 新增的step值
 */
public function  increment($key, $step = 1) {
return $this->memcache->increment($key, (int) $step);
}

/**
 * 字段自减-用于记数
 * @param string $key  KEY值
 * @param int    $step 新增的step值
 */
public function decrement($key, $step = 1) {
return $this->memcache->decrement($key, (int) $step);
}

/**
 * 关闭Memcache链接
 */
public function close() {
return $this->memcache->close();
}

/**
 * 替换数据
 * @param string $key 期望被替换的数据
 * @param string $value 替换后的值
 * @param int    $time  时间值
 * @param bool   $flag  是否进行压缩
 */
public function replace($key, $value, $time = 0, $flag = false) {
return $this->memcache->replace($key, $value, false, $time);
}

/**
 * 获取Memcache的版本号
 */
public function getVersion() {
return $this->memcache->getVersion();
}

/**
 * 获取Memcache的状态数据
 */
public function getStats() {
return $this->memcache->getStats();
}

/**
 * Memcache缓存-设置链接服务器
 * 支持多MEMCACHE服务器
 * 配置文件中配置Memcache缓存服务器:
 * $InitPHP_conf['memcache'][0]   = array('127.0.0.1', '11211'); 
 * @param  array $servers 服务器数组-array(array('127.0.0.1', '11211'))
 */
public function add_server($servers) {
$this->memcache = new Memcache;
if (!is_array($servers) || empty($servers)) exit('memcache server is null!');
foreach ($servers as $val) {
$this->memcache->addServer($val[0], $val[1]);
}
}
}

使用方法

$newclass = new memcachedInit();
$newclass->getVersion() //获取版本号
$newclass->close() //关闭Memcache链接
$newclass->clear($key) //从memcache中删除一条缓存
$newclass->get_cache($key) //通过KEY获取缓存数据

上面就简单介绍了它的使用方法了,其实还有很多在这里我就不介绍了呀。

总结,这个只是一个最基于的Memcache缓存操作类了,比起像数据库缓存类操作会更好更复杂了哦,希望例子能帮助到各位朋友哦。

socket_connect函数在php默认安装是不给支持的,如果要使用它我们需要在php.ini中进行简单的开启,下面我们一起来看看吧。

linux系统中开启socket_connect方法

#cd /home/php/ext/sockets #/server/php/bin/phpize #./configure --prefix=/usr/local/php/lib --with-php-config=/server/php/bin/php-config --enable-sockets #make #make install

再修改/usr/local/php/etc/php.ini文件

#extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/" (php5.4版本以上不用加扩展路径) extension=sockets.so

windows系统开启socket_connect步骤

直接修改php.ini 文件 去掉extension=PHP_sockets.dll 前面的分号


最后重启一下你的服务器环境就可以了,如iis apache nginx都可以正常使用socket_connect函数

socket_connect 说明

bool socket_connect ( resource $socket , string $address [, int $port = 0 ] )

成功时返回 TRUE, 或者在失败时返回 FALSE。

例子

 代码如下 复制代码

<?php
$address = gethostbyname ($ip);
        $command = "ping -c 1 " . $address; 
        $r = exec($command); 
          if ($r[0]=="r")
          {       
            $socket = socket_create (AF_INET, SOCK_STREAM, 0);
            if ($socket < 0) {
                echo "socket_create() failed: reason: " . socket_strerror ($socket) . "n";
            } else {
                echo "OK.n";
            }
?>

今天碰到一个连接mysql的怪问题,我在php 环境本地用ip连接mysql响应快,用localhost连接慢,后来百度了一下整理了一些解决办法,大家一起来看看。

很长时间了,本地php环境,用localhost连接mysql时,只要访问有查询数据库的页面,就会发生响应慢的现象,找了些资料也没解决。

今天突然用ip连接了一下,发下速度竟然快了好多,朋友过来帮看了下。

检查了一下hosts文件,发现127.0.0.1没有解析到localhost,恍然大悟啊。

没有解析过去,响应速度当然慢了,它每次都要自己查找一遍。

第二种就是修改php.ini配置文件里的mysql.default_host,并且把mysql_connect()中的第一个参数写为空字符串;这个方法还没有测试成功过,可能是我把某些地方忽略了吧~~


远程连接MYSQL慢


出现这种问题的主要原因是,默认安装的MYSQL开启了DNS的反向解析,在my.ini(WINDOWS系统下)或MY.CNF(UNIX或LINUX系统下)文件的[mysqld]下加入skip-name-resolve这一句,保存。

开始--》运行--》cmd--》net stop mysql --》net start mysql--》哈哈,成功

my.ini所在路径如:D:\Program Files\MySQL\MySQL Server 5.0\my.ini

原来是MySQL的问题呀,这样操作后就不能在MySQL的授权表中使用主机名了而只能用ip。

[!--infotagslink--]

相关文章

  • php读取zip文件(删除文件,提取文件,增加文件)实例

    下面小编来给大家演示几个php操作zip文件的实例,我们可以读取zip包中指定文件与删除zip包中指定文件,下面来给大这介绍一下。 从zip压缩文件中提取文件 代...2016-11-25
  • 删除条目时弹出的确认对话框

    复制代码 代码如下: <td> <a href="/member/life/edit_ppt/<?php echo $v->id;?>" class="btn">编辑</a> <a href="javascript:;" onclick="if(confirm('您确定删除这条记录?')){location.href='/member/life/d...2014-06-07
  • php跨网站请求伪造与防止伪造方法

    伪造跨站请求介绍伪造跨站请求比较难以防范,而且危害巨大,攻击者可以通过这种方式恶作剧,发spam信息,删除数据等等。...2013-10-01
  • Centos中彻底删除Mysql(rpm、yum安装的情况)

    我用的centos6,mysql让我整出了各种问题,我想重装一个全新的mysql,yum remove mysql-server mysql之后再install并不能得到一个干净的mysql,原来的/etc/my.cnf依然没变,datadir里面的数据已没有任何变化,手动删除/etc/my.cn...2015-03-15
  • MyBatis-Plus的物理删除和逻辑删除(使用场景)

    数据库中的数据删除会分为两种:物理删除 和 逻辑删除,接下来通过本文给大家介绍MyBatis-Plus的物理删除和逻辑删除使用场景分析,感兴趣的朋友一起看看吧...2021-09-25
  • mybatis-plus getOne和逻辑删除问题详解

    这篇文章主要介绍了mybatis-plus getOne和逻辑删除,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-08-26
  • C# 复制与删除文件的实现方法

    这篇文章主要介绍了C# 复制与删除文件的实现方法的相关资料,希望通过本文能帮助到大家,让大家理解掌握这部分内容,需要的朋友可以参考下...2020-06-25
  • C#删除UL LI中指定标签里文字的方法

    这篇文章主要介绍了C#删除UL LI中指定标签里文字的方法,涉及C#针对页面HTML元素进行正则匹配与替换的相关操作技巧,需要的朋友可以参考下...2020-06-25
  • MybatisPlus实现逻辑删除功能

    这篇文章主要介绍了MybatisPlus实现逻辑删除功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-12-25
  • js实现上传文件添加和删除文件选择框

    这篇文章主要为大家详细介绍了js实现上传文件添加和删除文件选择框 ,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2016-10-25
  • C++递归删除一个目录实例

    这篇文章主要介绍了C++递归删除一个目录的实现方法,涉及到目录的操作及递归算法的应用,需要的朋友可以参考下...2020-04-25
  • jQuery中DOM节点的删除方法总结(超全面)

    这篇文章主要介绍了jQuery中DOM节点的删除方法,文中介绍的很相信,内容包括empty()的基本用法、remove()的有参用法和无参用法、empty和remove区别、保留数据的删除操作detach()以及detach()和remove()区别,需要的朋友可以参考借鉴。...2017-01-26
  • MySQL查看、创建和删除索引的方法

    本文实例讲述了MySQL查看、创建和删除索引的方法。分享给大家供大家参考。具体如下:1.索引作用在索引列上,除了上面提到的有序查找之外,数据库利用各种各样的快速定位技术,能够大大提高查询效率。特别是当数据量非常大,查询...2015-10-21
  • C#删除Excel中的图片实例代码

    在本篇文章里小编给大家分享了关于C#删除Excel中的图片的实例代码内容,有兴趣的朋友们参考学习下。...2020-06-25
  • jQuery动态添加与删除tr行实例代码

    最近由于项目的需要,需要动态的添加和删除table中的tr,感觉用JS可以实现,但是在网上找了一下,单纯的自己写JS,感觉太麻烦,而且也不好维护。于是想到了最近学的jQuery。这篇文章给大家用实例介绍了jQuery动态添加与删除tr行的方法,有需要的朋友们可以参考借鉴。...2016-10-20
  • jQuery表格的维护和删除操作

    可以利用js函数来实现对表格的维护和删除,相对于JavaScript简单方便,下面通过实例代码给大家介绍下jQuery表格的维护和删除操作,一起通过本文学习吧...2017-02-08
  • mysql delete 多表连接删除功能

    这篇文章主要介绍了mysql delete 多表连接删除功能的相关资料,需要的朋友可以参考下...2017-03-14
  • 微信小程序 向左滑动删除功能的实现

    这篇文章主要介绍了微信小程序 向左滑动删除功能的实现的相关资料,需要的朋友可以参考下...2017-03-13
  • php批量删除指定文件夹中指定后缀名文件

    这是一个比较实现的函数我们可以自定义要删除那些目录保存在一个数据中,然后我们根据数据进行遍历并且删除目录下指定文件了,具体代码如下。 直接上代码: 下面的例子...2016-11-25
  • 在idea 中添加和删除模块Module操作

    这篇文章主要介绍了在idea 中添加和删除模块Module操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-08-18