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确实是太不安全而且太老旧了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值