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转码输出
PHP后台基本语法使用笔记的更多相关文章
- Golang 语法学习笔记
Golang 语法学习笔记 包.变量和函数. 包 每个 Go 程序都是由包组成的. 程序运行的入口是包 main. 包名与导入路径的最后一个目录一致."math/rand" 包由 ...
- MarkDown语法 学习笔记 效果源码对照
MarkDown基本语法学习笔记 Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式. 下面将对Markdown的基本使用做一个介绍 目 ...
- 毕业设计 之 五 PHP语法学习笔记
毕业设计 之 四 PHP语法学习笔记 作者:20135216 平台:windows10 软件:XAMPP,DreamWeaver 说明:该笔记是对网站编程语言的详细学习 一.PHP基础 0. 关于环境 ...
- JavaScript基础——JavaScript语法基础(笔记)
JavaScript语法基础(笔记) 1.语言编码 JavaScript语言建立在Unicode字符集基础之上,因此脚本中,用户可以使用双字节的字符命名常量.变量或函数等. [示例] var 我=&q ...
- doy05循环语法学习笔记
doy05循环语法学习笔记 一.while循环语法: 1.基本用法示例 x = 1 while x <= 5: print(x) x += 1 2.死循环:永远不结束的循环 如:while Tr ...
- Mustache.js语法学习笔记
原文地址:http://www.cnblogs.com/flypig88/archive/2012/05/14/2497780.html 看了Mustache的github,学学其中的语法,做个笔记 ...
- python语法基础笔记
本篇笔记基于博主自己的的学习,理解,总结所写.很多东西可能存在误解,不能保证百分之百的正确. 1. 数据表达1.1 常量和变量1.2 数据类型1.2.1 基本数据元素1.2.1.1 数字1.2.1.2 ...
- MarkDown语法练习笔记
MarkDown使用规则 标题Markdown 支持两种标题的语法,类 Setext 和类 atx 形式 Setext 形式:用底线的形式 Selext形式采用: 1.最高阶标题(=)2.第二阶标题( ...
- markdown常用语法使用笔记
markdown是当下比较流行的一种编辑标记语言,很多系统都支持markdown语法来编辑文件内容,像gitbook之类的,一下是一些学习笔记. 1.开头用#的数量表示1-6阶的标题,结尾可以以任意数 ...
随机推荐
- Java学习的第十七天
1.静态变量 静态方法 静态代码块 2.今天没问题 3.明天学习abstract和综合实例
- 「MCOI-03」村国题解
第二篇题解! 可能是退役之前的最后一篇题解了 (好像总共都只写了两篇) 不说了,讲题: 题面 题意: 有T个数据 有一颗树(保证所有的的节点都是相连的),有n个节点,每个节点都有相应的权值与序号,现在 ...
- springboot自动装配原理,写一个自己的start
springboot自动装配原理 第一次使用springboot的时候,都感觉很神奇.只要加入一个maven的依赖,写几行配置,就能注入redisTemple,rabbitmqTemple等对象. 这 ...
- python08豆瓣电影 爬虫 BeautifulSoup + Reuqests
主要思路 请求豆瓣的链接获取网页源代码 然后使用 BeatifulSoup 拿到我们要的内容 最后就把数据存储到 excel 文件中
- 利用sklearn实现knn
基于上面一篇博客k-近邻利用sklearns实现knn #!/usr/bin/env python # coding: utf-8 # In[1]: import numpy as np import ...
- Spark架构与原理这一篇就够了
一.基本介绍 是什么? 快速,通用,可扩展的分布式计算引擎. 弹性分布式数据集RDD RDD(Resilient Distributed Dataset)弹性分布式数据集,是Spark中最基本的数据( ...
- tcp timewait 问题 转载
TIME WAIT 带来的问题 先引用一个名言: The TIME_WAIT state is our friend and is there to help us (i.e., to let old ...
- LOJ #2005. 「SDOI2017」相关分析 线段树维护回归直线方程
题目描述 \(Frank\) 对天文学非常感兴趣,他经常用望远镜看星星,同时记录下它们的信息,比如亮度.颜色等等,进而估算出星星的距离,半径等等. \(Frank\) 不仅喜欢观测,还喜欢分析观测到的 ...
- 安装vmware tool
首先简单介绍一下vmware tool的作用: 1.最大的好处是可以直接把windows界面的文件拖进linux虚拟机内. 2.鼠标可以直接从虚拟机移动到windows等等好处. 步骤 1.点击虚拟机 ...
- 【java从入门到精通】day10-Java流程控制2-switch多选择结构
1.switch多选择结构 switch case语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支. switch语句中的变量类型可以是: byte.short.int或者char 从j ...