PHP后台基本语法使用笔记
阅读原文时间:2023年07月08日阅读:1

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转码输出

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章