php入门教程八(对数据库操作 数据删除,查询,修改,更新)

 更新时间:2016年11月25日 15:10  点击:2191
本款教程主要是讲对数据库操作的php代码范例,有php操作mysql数据连接,以及删除数据,查询数据 修改数据,修改更新记录等实例。

简单查询数据

 代码如下 复制代码

<?php
//连接数据库
$link_id = mysql_connect("localhost","root","") or die("连接失败");
if($link_id)
{
 //选择数据库
 mysql_select_db("my_test");
 //以上为头部数据库连接部分,为以下公用的部分。
 if(!$_get[id]){

  //显示用户列表
  $sql = "select * from userinfo";
  $result=mysql_query($sql);
  
  echo "<table border=1>
    <tr>
     <td>编号</td>
     <td>用户名称</td>
     <td>性别</td>
     <td>年龄</td>
     <td>注册时间</td>
     <td>详细信息</td>
    </tr>";

 

  while($row=mysql_fetch_array($result)){
   echo "<tr>
     <td>".$row[id]."</td>
     <td>".$row[username]."www.111cn.net</td>
     <td>".$row[gender]."</td>
     <td>".$row[age]."</td>
     <td>".$row[regdate]."</td>
     <td><a href=query.php?id=".$row[id].">查看</a></td>
    </tr>";
  }
  echo "</table>";
 }
 else
 {  
  //显示指定用户的详细信息
  $sql="select * from userinfo where id=".$_get[id];
  $result=mysql_query($sql);
  $row=mysql_fetch_array($result);
  echo "编号:".$row[id]."<br>用户名:".$row[username]."<br>性别:".$row[gender]."<br>年龄:".$row[age]."<br>注册时间:".$row['regdate'];

  echo "<br><br><br><a href=query.php>继续查询</a>";
 }
}//end if
?>

删除数据

 代码如下 复制代码

<?php
//连接数据库
$link_id = mysql_connect("localhost","root","") or die("连接失败");
if($link_id)
{
 mysql_select_db("my_test");
 if(!$_get[id])
 {

  $result=mysql_query("select * from userinfo");
  echo "<table border=1>
    <tr>
     <td>编号</td>
     <td>用户名称www.111cn.net</td>
     <td>性别</td>
     <td>年龄</td>
     <td>注册时间</td>
     <td>操作</td>
    </tr>";

 

  while($row=mysql_fetch_array($result)){
   echo "<tr>
     <td>".$row[id]."</td>
     <td>".$row[username]."</td>
     <td>".$row[gender]."</td>
     <td>".$row[age]."</td>
     <td>".$row[regdate]."</td>
     <td><a href=delete.php?id=".$row[id].">删除</a></td>
    </tr>";
  }
  echo "</table>";

 }//显示列表的内容
 else
 {

   $sql="delete from userinfo where id=".$_get[id];
   $result=mysql_query($sql);
   if($result)
    echo "记录已经成功删除<br><a href='delete.php'>返回</a>";
   else
    echo "记录删除失败<br><a href=delete.php.php?id=".$_get[id].">返回</a>";

 }//else($id部分)
} // end if
?>

修改,更新记录

 代码如下 复制代码

<?php
//连接数据库
$link_id = mysql_connect("localhost","root","") or die("连接失败");
if($link_id)
{
 mysql_select_db("my_test");
 if(!$_get[id])
 {

  $result=mysql_query("select * from userinfo");
  echo "<table border=1>
    <tr>
     <td>编号</td>
     <td>用户名称</td>
     <td>性别</td>
     <td>年龄</td>
     <td>注册时间</td>
     <td>操作</td>
    </tr>";

 

  while($row=mysql_fetch_array($result)){
   echo "<tr>
     <td>".$row[id]."</td>
     <td>".$row[username]."</td>
     <td>".$row[gender]."</td>
     <td>".$row[age]."</td>
     <td>".$row[regdate]."</td>
     <td><a href=modify.php?id=".$row[id].">编辑</a></td>
    </tr>";
  }
  echo "</table>";

 }//显示列表的内容
 else
 {
  if(!$_post[ok])
  {
   $sql="select * from userinfo where id=".$_get[id];
   $result=mysql_query($sql);
   $row=mysql_fetch_array($result);
   ?>
   <form method=post action='modify.php?id=<? echo $_get[id];?>'>
   <?
   echo $row[id]."<br>"; 
   ?>
   <input type="hidden" name="id" value=<?echo $row[id];?>>
   姓名 www.aimeige.com.cn<input type=text name="username" value=<?echo $row[username];?>><br>
   性别 <input type=text name="gender" value=<?echo $row[gender];?>><br>
   年龄 <input type=text name="age"   value=<?echo $row[age];?>><br>
   注册时间 <input type=text name="regdate"   value=<?echo $row['regdate'];?>><br>
   <input type=submit name=ok value="提交">
   </form>
   <?
  }// if(!$_post[ok])
  else{//针对$ok被激活后的处理:
   
   $sql="update userinfo set username='".$_post[username]."',gender='".$_post[gender]."',age='".$_post[age]."',regdate='".$_post[regdate]."' where id='".$_post[id]."'";
   $result=mysql_query($sql);
   if($result)
    echo "记录已经成功修改<br><a href='modify.php'>继续修改记录</a>";
   else
    echo "记录修改失败<br><a href=modify.php?id=".$_post[id].">返回</a>";
  }
 }//else($id部分)
} // end if
?>

保存记录到数据库

 代码如下 复制代码

<?php
if($_post[ok])
{
 $link_id = mysql_connect("localhost","root","") or die("连接失败");
 if($link_id)
 {
  //选择数据库
  mysql_select_db("my_test");
  //插入数据sql语句
  $sql="insert into userinfo values('".$_post[id]."','".$_post[name]."','".$_post[gender]."','".$_post[age]."','".$_post[regdate]."')";
  //执行sql语句
  $result=mysql_query($sql);
  if($result)
  {
   echo "记录已经成功插入<br><a href='insert.php'>继续插入记录</a>";
  }
  else
   echo "执行插入sql语句失败";
  //关闭数据库
  mysql_close($link_id);
 }
}
else
{
 ?>
 <form method=post action=insert.php>
 编号<input type=text name="id"><br>
 姓名<input type=text name="name"><br>
 性别<input type=text name="gender" ><br>
 年龄<input type=text name="age"><br>
 注册时间<input type=text name="regdate"><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 <input type=submit name=ok value="提交">
 </form>
 <?
}//end if
?>

本文章利用用大量的例子来讲解php教程代码对图片操作的讲解。下面来看看一个个实例教程吧.

<?php
$height = 300;
$width = 300;
//创建背景图
$im = imagecreatetruecolor($width, $height);
//分配颜色
$white = imagecolorallocate ($im, 255, 255, 255);
$blue = imagecolorallocate ($im, 0, 0, 64);
//绘制颜色至图像中
imagefill($im, 0, 0, $blue);
//绘制字符串:hello,php
imagestring($im, 10, 100, 120, 'hello,php', $white);
//输出图像,定义头
header ('content-type: image/png');
//将图像发送至浏览器
imagepng($im);
//清除资源
imagedestroy($im);
?>

实例二生成缩略图片

<?php
header("content-type: image/jpeg");
// 载入图像
$imagen1 = imagecreatefromjpeg("imagen1.jpg");
$imagen2 = imagecreatefromjpeg("imagen2.jpg");

// 复制图像
imagecopy($imagen1,$imagen2,0,0,0,0,200,150);

// 输出jpeg图像
imagejpeg($imagen1);

//释放内存
imagedestroy($imagen2);
imagedestroy($imagen1);

?>

获取图片大小信息

<?php
$info = getimagesize("imagen2.jpg");
print_r($info);

?>

绘制png图片

<?php
//png格式图像处理函数
function loadpng ($imgname) {
    $im = @imagecreatefrompng ($imgname);
    if (!$im) {    //载入图像失败                     
        $im = imagecreate (400, 30);     
        $bgc = imagecolorallocate ($im, 255, 255, 255);
        $tc  = imagecolorallocate ($im, 0, 0, 0);
       imagefilledrectangle ($im, 0, 0, 150, 30, $bgc);
       imagestring($im, 4, 5, 5, "error loading: $imgname", $tc);
    }
    return $im;
 }
 $imgpng=loadpng("./karte.png");
   /* 输出图像到浏览器 */
 header("content-type: image/png");
 imagepng($imgpng);
 ?>


给图片加文字

<?php
  //创建 100*30 图像
  $im = imagecreate(100, 30);
  // white background and blue text
  $bg = imagecolorallocate($im, 200, 200, 200);
  $textcolor = imagecolorallocate($im, 0, 0, 255);
 
  // write the string at the top left
  imagestring($im, 5, 0, 0, "hello world!", $textcolor);
 
  // output the image
header ("content-type: image/jpeg");
imagejpeg ($im);
imagedestroy($im);

?>

根据上面的实例我们总结了,本文章主要是讲到imap服务器连接以及与ftp服务器进行连接详细教程,包括删除,上传,下载文件实例

用php教程实现连接服务器,还有实现连接imap服务器,最后通过php编写的代码来实现上传和下载文件

 代码如下 复制代码

<?php
//连接 imap 服务器链接,imap 的端口为 143。
$mbox = imap_open("{localhost:143}inbox","user_id","password");
//连接pop3 服务器链接,pop3 的端口为 110。
$mbox = imap_open("{localhost/pop3:110}inbox","user_id","password");
//连接nntp 服务器链接,nntp 的端口为 119。
$nntp = imap_open("{localhost/nntp:119}comp.test","","");
?>


邮件发送函数mail

 代码如下 复制代码
<?php
mail( "163@111cn.net", "欢迎你", "hello,你好! " );
?>
 代码如下 复制代码
<?php
//连接imap服务器
$mbox = imap_open("{imap.example.org}", "username", "password", op_halfopen)
      or die("连接失败: " . imap_last_error());
$list = imap_getmailboxes($mbox, "{imap.example.org}", "*");
if (is_array($list)) {
    foreach ($list as $key => $val) {
        echo "($key) ";
        echo imap_utf7_decode($val->name) . ",";
        echo "'" . $val->delimiter . "',";
        echo $val->attributes . "<br />n";
    }
} else {
    echo "imap_getmailboxes 失败: " . imap_last_error() . "n";
}
//关闭imap连接
imap_close($mbox);
?>

连接ftp服务器

 代码如下 复制代码

<?php
// 打开将要上传的文件
$file = 'demofile.txt';
$fp = fopen($file, 'r');

// 连接ftp服务器
$conn_id = ftp_connect($ftp_server);
//登陆ftp服务器
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// 上传文件
if(ftp_fput($conn_id, $file, $fp, ftp_ascii)) {
    echo "上传 $file 文件成功n";
} else {
    echo "上传 $file 文件失败n";
}

// 关闭ftp连接
ftp_close($conn_id);
//关闭打开的上传文件
fclose($fp);
?>

ftp文件上传下载功能

 代码如下 复制代码
<?php
$file = 'somefile.txt';
$remote_file = 'readme.txt';
// 连接ftp服务器
$conn_id = ftp_connect($ftp_server);
//使用用户名、密码登陆
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
//上传文件
if (ftp_put($conn_id, $remote_file, $file, ftp_ascii)) {
echo "成功上传 $file 文件n";
} else {
echo "上传 $file 文件失败n";
}
// 关闭ftp连接
ftp_close($conn_id);
?>

ftp删除文件

 代码如下 复制代码
<?php
$file = 'public_html/old.txt';
// 连接ftp服务器
$conn_id = ftp_connect($ftp_server);
// 验证用户名和密码
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
// 删除指定文件
if (ftp_delete($conn_id, $file)) {
echo "$file 文件删除成功 n";
} else {
echo "删除 $file 文件失败n";
}
// 关闭ftp连接
ftp_close($conn_id);
?>

ftp获取远程文件大小

 代码如下 复制代码
<?php
$file = 'somefile.txt';
// 连接ftp服务器
$conn_id = ftp_connect($ftp_server);
//验证用户名和密码
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
//获取指定文件的大小
$res = ftp_size($conn_id, $file);
if ($res != -1) {
    echo " $file 文件大小为 $res字节";
} else {
    echo "获取远程文件大小失败";
}
//关闭ftp连接
ftp_close($conn_id);
?> 

对文件访问实现的源代码。主要讲到php教程操作文件以及xml文档实例方法。

<?php
// 创建一个新的pdf文档句柄
$pdf = cpdf_open(0);
// 打开一个文件
cpdf_open_file($pdf);
// 开始一个新页面(a4)
cpdf_begin_page($pdf, 595, 842);
// 得到并使用字体对象
$arial = cpdf_findfont($pdf, "arial", "host", 1);
cpdf_setfont($pdf, $arial, 10);
// 输出文字
cpdf_show_xy($pdf, "this is an exam of pdf documents, it is a good lib,",50, 750);
cpdf_show_xy($pdf, "if you like,please try yourself!", 50, 730);
// 结束一页
cpdf_end_page($pdf);
// 关闭并保存文件
cpdf_close($pdf);

// 如果要直接输出到客户端的话,把下面的代码加上

$buf = cpdf_get_buffer($pdf);

$len = strlen($buf);

header("content-type: application/pdf");

header("content-length: $len");

header("content-disposition: inline; filename=pie_php.pdf");

print $buf;

cpdf_delete($pdf);
?>

xml文件

<?php
$dom = new domdocument();
$dom->load("order.xsl");
$proc = new xsltprocessor;
$xsl = $proc->importstylesheet($dom);

$xml = new domdocument();
$xml->load('order.xml');
$string = $proc->transformtoxml($xml);
echo $string;
?>

order.sls

<?xml version="1.0" encoding='gb2312' ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform">
<xsl:output encoding='gb2312'/>

  <xsl:param name="column" select="'sku'"/>
<xsl:param name="order" select="'ascending'"/>
  <xsl:template match="/">
    <html>
      <body>
        <xsl:apply-templates select="order">
          <xsl:with-param name="sortcolumn" select="$column" />
          <xsl:with-param name="sortorder" select="$order" />
        </xsl:apply-templates>
      </body>
    </html>
  </xsl:template>

  <xsl:template match="order">
    <xsl:param name="sortcolumn" />
    <xsl:param name="sortorder" />
    <table border="1">
      <tr>
        <th>订单号</th>
        <th>id</th>
        <th>说明</th>
        <th>价格</th>
        <th>数量</th>
        <th>合计</th>
      </tr>
      <xsl:apply-templates select="item">        
      </xsl:apply-templates>
    </table>
  </xsl:template>
  <xsl:template match="item">
    <tr>
      <td><xsl:value-of select="../account" /></td>
      <td><xsl:value-of select="sku" /></td>
      <td><xsl:value-of select="description" /></td>
      <td><xsl:value-of select="priceper" /></td>
      <td><xsl:value-of select="quantity" /></td>
      <td><xsl:value-of select="subtotal" /></td>
    </tr>
  </xsl:template>    
</xsl:stylesheet>

order.xml文件

<?xml version="1.0" encoding='gb2312' ?>
<order>
  <account>9900234</account>
  <item id="1">
    <sku>1234</sku>
    <priceper>5.95</priceper>
    <quantity>100</quantity>
    <subtotal>595.00</subtotal>
    <description>www.111cn.net</description>
  </item>
  <item id="2">
    <sku>6234</sku>
    <priceper>22.00</priceper>
    <quantity>10</quantity>
    <subtotal>220.00</subtotal>
    <description>足球</description>
  </item>
  <item id="3">
    <sku>9982</sku>
    <priceper>2.50</priceper>
    <quantity>1000</quantity>
    <subtotal>2500.00</subtotal>
    <description>手机包</description>
  </item>
  <item id="4">
    <sku>3256</sku>
    <priceper>389.00</priceper>
    <quantity>1</quantity>
    <subtotal>389.00</subtotal>
    <description>手机</description>
  </item>
  <numberitems>www.111cn.net</numberitems>
  <total>3704.00</total>
  <orderdate>07/07/2002</orderdate>
  <ordernumber>8876</ordernumber>
</order>

 

 

这里主要讲到关于在php教程类的调用,申请明,使用以前各种类的实例方法与操作过程,让你清楚的知道php类的construct  destruct  clone  call wake sleep用法。

简单购物车类

<?php
class cart
{
    var $items;  // 购物车中的项目
    // 把 $num 个 $artnr 放入车中
    function add_item ($artnr, $num)
    {
        $this->items[$artnr] += $num;
    }
    // 把 $num 个 $artnr 从车中取出
    function remove_item ($artnr, $num)
    {
        if ($this->items[$artnr] > $num) {
            $this->items[$artnr] -= $num;
            return true;
        } else {
            return false;
        }
    }
}
?>

类中带有构造函数

<?php
class session
{
    public  function __construct()
{
     echo '构造函数执行';
    }
    public  function __destruct()
    {
      echo '析构函数执行';
    }
}
$obj = new session;
unset($obj);//删除对象, __destruct()会被调用的
//输出
//构造函数执行
/析构函数执行
?>

类的调用与clone

<?php
class session
{
 public $age = 20;
 public $sub = null;
 public function __clone()
 {
  $this->sub=clone $this->sub;
 }
}
class session 2
{
 public $value=5;
}
$s   = new session;
$s->sub=new session 2;
$s2 = clone $s;
$s->sub->$value =10;
echo $s2->sub->$value;
?>

类 call方法

<?php
class session
{
 protected function __call($func,$para)
 {
  echo '方法不存在:’func."n".'参数为:'."n";
  print_r($para);
 }
}
$s=new session ();
echo $c->getnames('hello','you');
/*
输出:
方法不存在:getnames
参数为:
array
(
    [0] => hello
    [1] => you
)
*/
?>

类wake sleep

<?php
//定义一个session类
class session {
 public $sessionvars;
public $id;
 function session() {
  $this->id = uniqid();
 }
 function _sleep() {
 }
 function _wake() {
  $this->id = uniqid();
 }
}
    //建立一个对象
    $s = new session;
    $s-> sessionvars = "1.02";

    //串行化
    $ss = serialize($s);
    //unserialize it 反串行化 id被重新赋值
    $s2 = unserialize($s);
    // $s和$s2有不同的id
    print_r($s);
    print_r($s2);
  ?>

[!--infotagslink--]

相关文章

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

    下面小编来给大家演示几个php操作zip文件的实例,我们可以读取zip包中指定文件与删除zip包中指定文件,下面来给大这介绍一下。 从zip压缩文件中提取文件 代...2016-11-25
  • PHP 数据库缓存Memcache操作类

    操作类就是把一些常用的一系列的数据库或相关操作写在一个类中,这样调用时我们只要调用类文件,如果要执行相关操作就直接调用类文件中的方法函数就可以实现了,下面整理了...2016-11-25
  • C#连接SQL数据库和查询数据功能的操作技巧

    本文给大家分享C#连接SQL数据库和查询数据功能的操作技巧,本文通过图文并茂的形式给大家介绍的非常详细,需要的朋友参考下吧...2021-05-17
  • C#从数据库读取图片并保存的两种方法

    这篇文章主要介绍了C#从数据库读取图片并保存的方法,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下...2021-01-16
  • Intellij IDEA连接Navicat数据库的方法

    这篇文章主要介绍了Intellij IDEA连接Navicat数据库的方法,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借价值,需要的朋友可以参考下...2021-03-25
  • 在数据库里将毫秒转换成date格式的方法

    在开发过程中,我们经常会将日期时间的毫秒数存放到数据库,但是它对应的时间看起来就十分不方便,我们可以使用一些函数将毫秒转换成date格式。 一、 在MySQL中,有内置的函数from_unixtime()来做相应的转换,使用如下: 复制...2014-05-31
  • C#操作本地文件及保存文件到数据库的基本方法总结

    C#使用System.IO中的文件操作方法在Windows系统中处理本地文件相当顺手,这里我们还总结了在Oracle中保存文件的方法,嗯,接下来就来看看整理的C#操作本地文件及保存文件到数据库的基本方法总结...2020-06-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
  • 如何解决局域网内mysql数据库连接慢

    通过内网连另外一台机器的mysql服务, 确发现速度N慢! 等了大约几十秒才等到提示输入密码。 但是ping mysql所在服务器却很快! 想到很久之前有过类似的经验, telnet等一些服务在连接请求的时候,会做一些反向域名解析(如果...2015-10-21
  • MySQL快速复制数据库数据表的方法

    某些时候,例如为了搭建一个测试环境,或者克隆一个网站,需要复制一个已存在的mysql数据库。使用以下方法,可以非常简单地实现。假设已经存在的数据库名字叫db1,想要复制一份,命名为newdb。步骤如下:1. 首先创建新的数据库newd...2015-10-21
  • mysqldump命令导入导出数据库方法与实例汇总

    mysqldump命令的用法1、导出所有库系统命令行mysqldump -uusername -ppassword --all-databases > all.sql 2、导入所有库mysql命令行mysql>source all.sql; 3、导出某些库系统命令行mysqldump -uusername -ppassword...2015-10-21
  • Mysql数据库错误代码中文详细说明

    1005:创建表失败1006:创建数据库失败1007:数据库已存在,创建数据库失败1008:数据库不存在,删除数据库失败1009:不能删除数据库文件导致删除数据库失败1010:不能删除数据目录导致删除数据库失败1011:删除数据库...2013-09-23
  • Lua语言新手简单入门教程

    这篇文章主要给大家介绍的是关于Lua语言新手入门的简单教程,文中通过示例代码一步步介绍的非常详细,对各位新手们的入门提供了一个很方便的教程,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。...2020-06-30
  • php跨网站请求伪造与防止伪造方法

    伪造跨站请求介绍伪造跨站请求比较难以防范,而且危害巨大,攻击者可以通过这种方式恶作剧,发spam信息,删除数据等等。...2013-10-01
  • c#异步读取数据库与异步更新ui的代码实现

    这篇文章主要介绍了c#从数据库里取得数据并异步更新ui的方法,大家参考使用吧...2020-06-25
  • jQuery动态添加与删除tr行实例代码

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

    这篇文章主要介绍了node.js如何操作MySQL数据库,帮助大家更好的进行web开发,感兴趣的朋友可以了解下...2020-10-29
  • Yii2.0高级框架数据库增删改查的一些操作

    yii2.0框架是PHP开发的一个比较高效率的框架,集合了作者的大量心血,下面通过用户为例给大家详解yii2使用中的一些基本的增删改查操作。 User::find()->all(); //返回所有用户数据; User::findOne($id); //返回 主键...2015-11-24
  • Centos中彻底删除Mysql(rpm、yum安装的情况)

    我用的centos6,mysql让我整出了各种问题,我想重装一个全新的mysql,yum remove mysql-server mysql之后再install并不能得到一个干净的mysql,原来的/etc/my.cnf依然没变,datadir里面的数据已没有任何变化,手动删除/etc/my.cn...2015-03-15
  • MYSQL数据库使用UTF-8中文编码乱码的解决办法

    1.用phpmyadmin创建数据库和数据表 创建数据库的时候,请将“整理”设置为:“utf8_general_ci” 或执行语句: 复制代码 代码如下:CREATE DATABASE `dbname` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 创...2015-10-21