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