A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

reebma

初级黑马

  • 黑马币:18

  • 帖子:7

  • 精华:0

[PHP] 纯文本查看 复制代码
<?php

  require "dbconfig.php";
  $conn = @mysqli_connect(HOST,USER,PASS) or die("提示:数据库连接失败!");
  mysqli_select_db($conn,DBNAME);
  mysqli_set_charset($conn,'utf8');

 

// 获取输入信息

$ID = $_POST['ID'];
$Password = $_POST['Password'];

// 比对密码
$sql = "SELECT * FROM `editor` WHERE (`password` LIKE '$Password') ";
                // 结果集
$result = mysqli_query($conn,$sql);
            if (!$result) {
                header("Location:passerror.php");
    exit();
                
            }
            
   $newsNum=mysqli_num_rows($result);  
   echo($newsNum);
if ($newsNum == 1 ){
$row = mysqli_fetch_array($result);

$editor =$row['editor'];
};


//empty():检查一个变量是否为空  /  $_FILES数组:接收上传的文件
if (($_FILES["myFile"]["type"]=="image/jpeg" || $_FILES["myFile"]["type"]=="image/png") && $_FILES["myFile"]["size"]<1024000) {
                     // code...
                //把文件上传到./dir目录
  $up_root = './uploads/';
  //该目录是否存在  || 不存在创建该目录
  is_dir($up_root) || mkdir($up_root);
  //遍历上传的文件
  foreach($_FILES as $item){
    //error = 0 表示文件正常可以上传
    if($item['error'] === 0){
      //读取文件信息
      $content = file_get_contents($item['tmp_name'],'r');
      //获取一个带前缀 基于当前时间微妙数唯一的ID
      $fid = $ID;

      //文件名和后缀以'.'分开 得到一个$suffix数组
      $suffix = explode('.',$item['name']);
      //删除数组最后一位并返回 获得后缀名
      $suffix = array_pop($suffix);
      $suffix && ($suffix = '.'.$suffix);
      
      //move_uploaded_file 将上传的文件移动到新位置
      move_uploaded_file($item['tmp_name'],$up_root.$fid.$suffix);
      $name = $up_root.$fid.$suffix;
      mysqli_query($conn,"UPDATE tb1 SET ima='$name' WHERE ID=$ID") or die('修改数据出错:'.mysqli_error($conn)); 
       mysqli_query($conn,"UPDATE tb1 SET editor='$editor' WHERE ID=$ID") or die('修改数据出错:'.mysqli_error($conn));

      header("Location:done.php");
    }else{
      echo "文件异常,上传失败";
         };
}
}
else{
 echo "文件类型不正确,只能上传小于1M的JPEG或PNG图片!";
  
}
mysqli_free_result($result);
mysqli_close($conn);

3 个回复

倒序浏览
第21行,上面的数据库查询后输出结果为0时,到了21行应该退出执行下面的代码,可实际上还在执行,哪位大神知道为什么?
回复 使用道具 举报
自己顶一下,不要沉了!
回复 使用道具 举报
自己找出原因了!因为想当然的认为第18行的结果集为0,21行即退出;实际上18行的结果集虽然密码不匹配,但是还是有输出,$result的值不为0,所以并不会执行第21行;改正方法由判断$result改为判断$newsNum后,OK!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马