Mub*_*san 91 php mysql function deprecated
我收到此警告,但该程序仍然正常运行.
MySQL代码在PHP中显示一条消息:
不推荐使用:mysql_connect():不推荐使用mysql扩展,将来会删除它:在第2行的C:\ xampp\htdocs\task\media \new\connect.inc.php中使用mysqli或PDO
我的connect.inc.php
页面是
<?php
$connect = mysql_connect('localhost','root','');
mysql_select_db('dbname');
?>
Run Code Online (Sandbox Code Playgroud)
这意味着什么?如何消除消息?
Tha*_*ara 133
您的问题很少有解决方案.
MySQLi的方式是这样的:
<?php
$connection = mysqli_connect('localhost', 'username', 'password', 'database');
Run Code Online (Sandbox Code Playgroud)
运行数据库查询也很简单,几乎与旧方法相同:
<?php
// Old way
mysql_query('CREATE TEMPORARY TABLE `table`', $connection);
// New way
mysqli_query($connection, 'CREATE TEMPORARY TABLE `table`');
Run Code Online (Sandbox Code Playgroud)
从mysql_*关闭所有已弃用的警告,包括它们:
<?php
error_reporting(E_ALL ^ E_DEPRECATED);
Run Code Online (Sandbox Code Playgroud)
Reb*_*rth 30
您可以通过在mysql_connect之前添加"@"来删除警告.
@mysql_connect('localhost','root','');
Run Code Online (Sandbox Code Playgroud)
但正如警告告诉你的那样,使用mysqli或PDO,因为将来会删除mysql扩展.
要仅为此抑制弃用消息(并随时了解代码中的其他弃用),可以在connect前加上@:
<?php
$connect = @mysql_connect('localhost','root','');
mysql_select_db('dbname');
?>
Run Code Online (Sandbox Code Playgroud)
PHP 5.5.x中不推荐使用的功能
在原来的MySQL扩展现在已经过时,并会产生E_DEPRECATED
连接到数据库时的错误.相反,使用**MYSQLi或PDO_MySQL扩展.**
句法:
<?php
$connect = mysqli_connect('localhost', 'user', 'password', 'dbname');
Run Code Online (Sandbox Code Playgroud)
此外,将所有mysql_*
功能替换为mysqli_*
功能
代替
<?php
$connect = mysql_connect('localhost','root','');
mysql_select_db('dbname');
?>
Run Code Online (Sandbox Code Playgroud)
小智 5
显示此警告是因为出现了新的扩展名.它认为你仍然可以使用旧的但在某些情况下是不可能的.
我将向您展示如何与数据库建立连接.您只需更改变量的值即可.
我的连接文件:connection.php
<?php
$host='IP or Server Name (usually "localhost") ';
$user='Database user';
$password='Database password';
$db='Database name';
//PHP 5.4 o earlier (DEPRECATED)
$con = mysql_connect($host,$user,$password) or exit("Connection Error");
$connection = mysql_select_db($db, $con);
//PHP 5.5 (New method)
$connection = mysqli_connect($host,$user,$password,$db);
?>
Run Code Online (Sandbox Code Playgroud)
执行查询时,扩展名也会更改.
查询文件:"example.php"
<?php
//First I call for the connection
require("connection.php");
// ... Here code if you need do something ...
$query = "Here the query you are going to perform";
//QUERY PHP 5.4 o earlier (DEPRECATED)
$result = mysql_query ($query) or exit("The query could not be performed");
//QUERY PHP 5.5 (NEW EXTENSION)
$result = mysqli_query ($query) or exit("The query could not be performed");
?>
Run Code Online (Sandbox Code Playgroud)
这种方式使用MySQL Improved Extension,但您可以使用PDO(PHP数据对象).
第一种方法只能用于MySQL数据库,但PDO可以管理不同类型的数据库.
我将举一个例子,但有必要说我只使用第一个,所以如果有任何错误请纠正我.
我的PDO连接文件:"PDOconnection.php"
<?php
$hostDb='mysql:host= "Here IP or Server Name";dbname="Database name" ';
$user='Database user';
$password='Database password';
$connection = new PDO($hostDb, $user, $password);
?>
Run Code Online (Sandbox Code Playgroud)
查询文件(PDO):"example.php"
<?php
$query = "Here the query you are going to perform";
$result=$connection->$query;
?>
Run Code Online (Sandbox Code Playgroud)
说完你当然可以隐藏警告,但这不是一个好主意,因为如果发生错误可以帮助你将来节省时间(我们所有人都知道理论,但如果你有时工作很多时间......大脑不存在^^).
归档时间: |
|
查看次数: |
522551 次 |
最近记录: |