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