php连接数据库的几种方法

方式一:
新建文件sever.php

<?php
//1、配置参数
$pd0 = array(
    'dsn' => 'mysql:host=localhost;dbname=myplatform;port=3316;charset=utf8',
    'username' => 'root',
    'password' => '',
);
//连接属性
$options = array(
    PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, //默认是PDO::ERRMODE_SILENT, 0, (忽略错误模式)
    PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, // 默认是PDO::FETCH_BOTH, 4
);

//2、连接数据库
try {
    $pdo = new PDO($pd0['dsn'], $pd0['username'], $pd0['password'], $options);
} catch (PDOException $e) {
    die('数据库连接失败:' . $e->getMessage());
}


引入文件
sever_addNewstype.php

<?php
include 'sever.php';

$name=$_POST['name'];


$create_time=time()+7*60*60;
$create_time=date("Y-m-d H:i:s",$create_time);



$sql="INSERT INTO news_type (name,state,create_time)VALUES ('$name',1,'$create_time')";
$count=$pdo->exec($sql);
//echo $count;
if ($count>=1){
    echo "<script>alert('添加成功');location.href='../NewsType.php'</script>";
}
?>

方式二:(返回json数据,便于前台ajax接收数据)
单例模式,新建两个文件
dbhelper.php

<?php
class DB
{
    static private $_instance;
    private $_pdo;
    private $config = [
        'dsn' => 'mysql:host=localhost;dbname=myplatform;port=3316;charset=utf8',
        'username' => 'root',
        'password' => '',
        'options'  => [
            PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, //默认是PDO::ERRMODE_SILENT, 0, (忽略错误模式)
            PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, // 默认是PDO::FETCH_BOTH, 4
        ]
    ];

    private function __construct()
    {

    }

    static public function getInstance()
    {
        if (! self::$_instance instanceof self) {
            self::$_instance = new self();
        }
        return self::$_instance;
    }

    public function connect()
    {
        if (!$this->_pdo){
            try{
                $this->_pdo = new PDO($this->config['dsn'], $this->config['username'], $this->config['password'], $this->config['options']);
            }catch(PDOException $e){
                die('数据库连接失败:' . $e->getMessage());
            }
        }
        return $this->_pdo;
    }
}

json.php

<?php
//生成一个类-json格式化

class Responce
{
    public static function json($code='',$message='',$data=array())
    {
        $result=array(
            'code' => $code,
            'message'=>$message,
            'data'=>$data
        );
        exit(json_encode($result,JSON_UNESCAPED_UNICODE));
    }

}

然后在引入两个文件
如:
server_newsType.php

<?php
require_once '../sever/json.php';
require_once '../sever/dbhelper.php';

$pdo=DB::getInstance()->connect();

//1 查询
//1)使用query
$stmt = $pdo->query("SELECT * FROM `news_type`WHERE state=1");
//$row = $stmt->fetch(); //从结果集中获取下一行,用于while循环
$data = $stmt->fetchAll(); //获取所有
//
Responce::json('200','success',$data);
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值