• PHP后台基本语法使用笔记


    1. PHP中报500错误时如何查看错误信息   

    //将如下的代码放入PHP的文件中
    ini_set
    ("display_errors","On"); error_reporting(E_ALL);
    //显示所有的错误信息

    2. 数据库连接配置文件param.php

    <?php
    session_start();
    $db_host_main="**.**.**.**";//主数据库地址
    $db_user="root";//数据库用户名
    $db_name="****";//数据库名
    $db_passw="*****";//数据库密码
    
    if(!isset($_SESSION["user"]))
    {
        exit("请登录!");
    }
    $czr=$_SESSION["user"]->poststuno;
    $czrxm=$_SESSION["user"]->xm;
    $cztime=date("Y-m-d H:i:s");
    $mem_server="192.168.*.*";
    $czip = $_SERVER["HTTP_X_FORWARDED_FOR"];      //操作人ip地址

      连接数据 

    try {
        //数据库连接
        $pdo = new PDO("mysql:host=" . $db_host_main . ";dbname=" . $db_name . ";charset=utf8;", $db_user, $db_passw);
        //设置字符集utf-8
        $pdo->exec('set names utf8');
        //echo "数据库连接成功!";
    } catch (Exception $e) {
        print "Error:" . $e->getMessage();
        die();
    }

    3. 从前端获取form表单传进来的数据实例

    $dzid = isset($_POST['dzid'] )? $_POST['dzid'] :""  ;
    $dzname = isset( $_POST["dzname"]) ? $_POST["dzname"] : "";
    $dzlocation = isset( $_POST["dzlocation"]) ? $_POST["dzlocation"] : "";

    4. 插入数据之前查询数据库是否已经存在相同的数据

        (1)方法1

    //查询插入的数据已经存在
    $sql="select * from 表名 where 字段= $字段 ";
    //准备sql模板
    $stmt = $pdo->prepare( $sql );
    //绑定参数
    $stmt->bindValue( 1, $字段 );
    //执行预处理语句
    $stmt->execute();
    //推荐这种方式来获取查询结果
    while ( $row = $stmt->fetch() ) {
        if ($row)
        {
            exit("所查字段的数据已经存在,请重新输入.....");
        }
    }

        (2)方法2

    //czr是您要查询的字段
    $sql
    ="select * 表名 where czr=?; "; $stmt=$pdo->prepare($sql);//准备要执行的SQL语句并返回一个 PDOStatement 对象 $stmt->execute(array($czr))or die("执行失败!") . json_encode($pdo->errorInfo());;//执行SQL $resnum=$stmt->rowCount();//获取结果集行数 if($resnum>0){ echo "数据已存在,请勿重复添加!"; exit; }

    5. 从前端获取的数据插入数据库的方法

       1) 方法1

    //将数据插入到数据库中
        $sql1 = "insert into 表名 (czr,czrxm,cztime,czip,state) values ('$czr','$czrxm','$cztime','$czip','$state') ";
        $stmt1 = $pdo->exec($sql1);
        if ($stmt1 == 1) {
            echo "插入成功!";
        } else {
            echo "插入失败!" . json_encode($pdo->errorInfo());
        }

       (2)   方法2  使用预处理语句插入

        $sql = "insert into 表名(stuno,xm,shenfen,fy,bjmc,yuanyin,zt,czr,czrxm,cztime) values (?,?,?,?,?,?,?,?,?,?) ";
        $stmt = $pdo->prepare($sql);
        $stmt->execute(array($stuno,$mem->xm,$shenfen,$mem->basic->fy,$mem->basic->bjmc,$yuanyin,1,$czr,$czrxm,$cztime)) or die("插入失败!");//执行SQL;
        $affected_rows = $stmt->rowCount();
        echo "成功";

      (3) 方法3 绑定字段插入 

    //有post的时候执行数据插入
    $sql = "insert into 表名(dzid,dzname,dzlocation,czip,czr,czrxm,cztime) values(:dzid,:dzname,:dzlocation,:czip,:czr,:czrxm,:cztime)";
    
    //准备sql模板
    $result = $pdo->prepare($sql);
    //绑定参数
    $result->bindParam(':dzid', $dzid);
    $result->bindParam(':dzname', $dzname);
    $result->bindParam(':dzlocation', $dzlocation);
    $result->bindParam(':czip', $czip);
    $result->bindParam(':czr', $czr);
    $result->bindParam(':czrxm', $czrxm);
    $result->bindParam(':cztime', $cztime);
    //执行预处理语句
    $result->execute() or die ('执行失败!');
    if ($result) {
        echo "数据插入成功!";
    }else{
        echo "数据插入失败!";
    }

     6. 数据后台打印输出

        (1)以数组形式

    $stmt = $pdo->prepare("SELECT * FROM daozha_add ");
    if ($stmt->execute()) {
        $row = $stmt->fetchAll();
        $str=json_encode($row);//将数组进行json编码
        print_r($str);//查看数组
    }

         (2)以JSON形式输出   

    $rs="";
        $rs=$pdo->query("select * from 表名 where czr='$czr'");
        echo json_encode($rs->fetchAll(PDO::FETCH_ASSOC),JSON_UNESCAPED_UNICODE);//JSON_UNESCAPED_UNICODE   是不进行Unicode转码输出
  • 相关阅读:
    Unity《ATD》塔防RPG类3D游戏架构设计(一)
    计算机网络基础笔记 运输层协议UDP/TCP
    空间划分的数据结构(四叉树/八叉树/BVH树/BSP树/k-d树)
    游戏设计模式——内存池管理
    Unity 用ml-agents机器学习造个游戏AI吧(2) (深度强化学习入门DEMO)
    博客部署设计和构建
    教你如何把浏览器变为浏览“神器”
    珍藏多年的学习资料300G+,赶紧免费领取,从此离大神更进一步(文末有彩蛋)
    图解一致性哈希算法,全网(小区局域网)最通俗易懂
    SpringBoot整合Mail发送邮件&发送模板邮件
  • 原文地址:https://www.cnblogs.com/tianming18/p/12718630.html
Copyright © 2020-2023  润新知