如何将下面这段代码中的mysql修改为mysqli或PDO写法

Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /www/wwwroot/xcx.xxxxxx.com/phpwxpay/connect.php on line 11
ID 订单号 流水号 支付时间

程序后台提示这段

对应的文件代码为

<?php
header("Content-type: text/html; charset=utf-8");
session_start();

$host="localhost";
$db_user="sucaishui";//数据库帐号
$db_pass="123456";//数据库密码
$db_name="xiaochengxu";//数据库名

$timezone="Asia/Shanghai";
$link=mysql_connect($host,$db_user,$db_pass);
mysql_select_db($db_name,$link);
mysql_query("SET names UTF8");
header("Content-Type: text/html; charset=utf-8");
date_default_timezone_set($timezone); //北京时间
?>

阅读 2.5k
1 个回答

mysqli:

<?php

$timezone="Asia/Shanghai";
date_default_timezone_set($timezone);

$host="localhost";
$db_user="sucaishui";//数据库帐号
$db_pass="123456";//数据库密码
$db_name="xiaochengxu";//数据库名

$db = new mysqli($host, $db_user, $db_pass, $db_name);
if ($db -> connect_errno) {
    error_log('[连接失败][ ' . $db -> connect_error . ' ]');
}
$db -> query('SET NAMES utf8');

PDO:

<?php

$timezone="Asia/Shanghai";
date_default_timezone_set($timezone);

$host="localhost";
$db_user="sucaishui";//数据库帐号
$db_pass="123456";//数据库密码
$db_name="xiaochengxu";//数据库名

$dsn = "mysql:dbname={$db_name};host={$host}";

try {
    $db = new PDO($dsn, $db_user, $db_pass);
} catch (PDOException $e) {
    error_log('[连接失败][ ' . $e -> getMessage() . ' ]');
}
$db -> exec('SET NAMES utf8');

大概是这样?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进