PHP 连接MySQL的几种方法

方法1: mysql_connect

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# mysql
$host = '11.22.27.138';
$user = 'ithomer';
$pass = 'yanggang';
$dbname = 'proxy_ithomer_net';
 
$query = "select * from proxy_all limit 0,10;";       
$link = mysql_connect($host, $user, $pass);
mysql_select_db($dbname);
$result = mysql_query($query);
while($line = mysql_fetch_array($result, MYSQL_ASSOC)){
    print($line["ip"].":");
    print($line["port"]."</br>");
}

 

方法2: mysqli

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'my_db');
if ($mysqli->connect_error) {
    die('Connect Error (' . $mysqli->connect_errno . ') '
            . $mysqli->connect_error);
}
if (mysqli_connect_error()) {
    die('Connect Error (' . mysqli_connect_errno() . ') '
            . mysqli_connect_error());
}
 
echo 'Success... ' . $mysqli->host_info . "\n";
$mysqli->close();
?>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# mysqli
$host = '11.22.27.138';
$user = 'ithomer';
$pass = 'yanggang';
$dbname = 'proxy_ithomer_net';
 
$query = "select * from proxy_all limit 0,10;";       
$mysqli = new mysqli();
$mysqli->connect($host, $user, $pass, $dbname, 3306);
 
  print("++++++mysqlli info".$mysqli->host_info."</br>");
   
$result = $mysqli->query($query);
while($line = mysqli_fetch_assoc($result)){
    print($line["ip"].":");
    print($line["port"]."</br>");
}
$mysqli->close();

 

方法3:PDO

1
2
3
4
5
6
7
8
9
10
11
12
13
14
PDO:
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
 
MYSQLI:
$link = mysqli_connect(  
                'localhost'/* The host to connect to 连接MySQL地址 */  
                'user',      /* The user to connect as 连接MySQL用户名 */  
                'password'/* The password to use 连接MySQL密码 */  
                'world');    /* The default database to query 连接数据库名称*/  
       
    if (!$link) {  
       printf("Can't connect to MySQL Server. Errorcode: %s ", mysqli_connect_error());  
       exit;  
    }

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# pdo_mysql
$host = '11.22.27.138';
$user = 'ithomer';
$pass = 'yanggang';
$dbname = 'proxy_ithomer_net';
 
$query = "select * from proxy_all limit 0,10;";       
$dsn = sprintf("mysql:host=%s;dbname=%s", $host, $dbname);
print($dsn."</br>");
 
$pdo = new PDO($dsn, $user, $pass);
$result = $pdo->query($query);
while($row = $result->fetch()) {
    print_r($row["ip"].":");
    print_r($row["port"]."</br>");
}

 

解决Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in

php 5个版本,5.2、5.3、5.4、5.5,怕跟不上时代,新的服务器直接上5.5,但是程序出现如下错误:Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in,看意思就很明了,说mysql_connect这个模块将在未来弃用,请你使用mysqli或者PDO来替代。

解决方法1:

禁止php报错

1
2
3
display_errors = On
改为
display_errors = Off

鉴于这个服务器都是给用户用的,有时候他们需要报错(…都是给朋友用的),不能这做,让他们改程序吧,看方案2.

解决方法2:

常用的php语法连接mysql如下

1
2
3
4
5
6
7
<?php
$link = mysql_connect('localhost', 'user', 'password');
mysql_select_db('dbname', $link);
 
改成mysqi
<?php
$link = mysqli_connect('localhost', 'user', 'password', 'dbname');

常用mysql建表SQL如下

1
2
3
4
5
<?php
//  老的
mysql_query('CREATE TEMPORARY TABLE `table`', $link);
// 新的
mysqli_query($link, 'CREATE TEMPORARY TABLE `table`');

 

解决方法三:
在php程序代码里面设置报警级别

1
2
<?php
error_reporting(E_ALL ^ E_DEPRECATED);

Deprecated的问题就这样解决掉了,不过还是建议大家尽快取消mysql的用户,全部都走向mysqli或者mysqlnd等等。mysql确实是太不安全而且太老旧了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值