当前位置: 首页 > 知识库问答 >
问题:

不推荐使用:mysql\u connect():错误[重复]

潘胤
2023-03-14

我不知道我做错了什么,但我收到了这个错误:-

已弃用:mysql_connect():mysql扩展已弃用,将来将被删除:请在第7行的C:\wamp\www\includes\config.php中使用mysqli或PDO

我怎样才能解决这个问题?

<?php
$mysql_hostname = "localhost";
$mysql_user = "bootstrapadmin";
$mysql_password = "";
$mysql_database = "bootstrap";

$bd = mysql_connect($mysql_hostname, $mysql_user, $mysql_password) or die("Mate you fucked something up!");
mysql_select_db($mysql_database, $bd) or die("Mate you fucked something up!");
?>

现在我的登录页面出现了问题

Warning: mysqli_query() expects at least 2 parameters, 1 given in C:\wamp\www\login.php on line 12
Call Stack
#   Time    Memory  Function    Location
1   0.0012  140512  {main}( )   ..\login.php:0
2   0.0079  149352  mysqli_query ( )    ..\login.php:12

( ! ) Warning: mysql_num_rows() expects parameter 1 to be resource, null given in C:\wamp\www\login.php on line 13
Call Stack
#   Time    Memory  Function    Location
1   0.0012  140512  {main}( )   ..\login.php:0
2   0.0960  149752  mysql_num_rows ( )  ..\login.php:13

<?php

session_start();
include("includes/config.php");

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    //username and password sent from form
    $myusername = addslashes($_POST['username']);
    $mypassword = md5(addslashes($_POST['password']));

    $sql = "SELECT userid FROM tbl_users WHERE username='$myusername' and password='$mypassword'";
    $result = mysqli_query($sql);
    $count = mysql_num_rows($result);

    // If result matched $myusername and $mypassword, table row must be 1 row
    if ($count == 1) {
        //$session_register("myusername");
        $_SESSION['login_admin'] = $myusername;
        header("location: http://localhost/admin/");
    }
}
?>

共有2个答案

莫兴言
2023-03-14

你搜索过MySQLi或PDO吗?旧的mysql_*方法已被弃用,并将在即将发布的PHP版本中删除。

在我看来PDO是最好的方法,但是仅仅转换成MySQLi就足够了。只要研究一下,使用这些新技术之一。

对于MySQLi,基本上只需将最后两行更改为:

$connection = mysqli_connect($mysql_hostname, $mysql_user, $mysql_password) or die("Mate you fucked something up!");

mysqli_select_db($connection, $mysql_database) or die("Mate you fucked something up!");

(在“mysql”之后添加了“i”/还切换了db选择上的参数

有关MySQLi的更多信息:http://www.w3schools.com/php/php_ref_mysqli.asp

谭越
2023-03-14

不再支持mysql*函数。您可以改用mysqli.*函数。例如:

<?php
$mysql_hostname = "localhost";
$mysql_user = "bootstrapadmin";
$mysql_password = "";
$mysql_database = "bootstrap";

$bd = mysqli_connect($mysql_hostname, $mysql_user, $mysql_password) or die("Mate you messed something up!");
mysqli_select_db($mysql_database, $bd) or die("Mate you messed something up!");
?>
 类似资料:
  • 我只是更新我的服务器。今天显示了一个错误 deprecated:mysql_query():mysql扩展是不推荐的,并将在>future中删除:使用mysqli或PDO代替C:\wamp\www\work\db\dbfields-copy.php中的第33行 我创建了2列(name&address),需要插入var的值($name&$address)。

  • 这是什么意思,我如何消除信息?

  • 问题内容: 我有以下使用函数在PHP 5.3之前运行良好的语句: 升级到PHP 5.3后,我收到了不赞成使用的警告: 不推荐使用:不推荐使用split()函数。 我正在尝试解析具有以下格式的字符串: 2010-08-10 23:07:58 成为其组成部分。 问题答案: 我认为您想要preg_split。

  • 问题内容: 我收到此警告,但是该程序仍然可以正常运行。 MySQL代码向我显示了一条PHP消息: 不推荐使用:mysql_connect():不推荐使用mysql扩展,以后将被删除:在第2行的C:\ xampp \ htdocs \ task \ media \ new \ connect.inc.php中使用mysqli或PDO代替 我的页面是 这是什么意思,我该如何消除该消息? 问题答案: 有

  • 问题内容: 我正在尝试使用和进行单元测试。 当我不包含注释时,测试将失败。但 不推荐使用MockitoJUnitRunner类型 我正在使用Mockito 2.6.9。我应该怎么做? 问题答案: 现在确实已弃用,应该改为使用。如您所见,仅软件包名称已更改,该类的简单名称仍为 。 摘录自javadoc : 移至,该课程将在Mockito 3中删除

  • 新的侦听器(又名OnCameraMoveListener())方法onCameraMove()没有CameraPosition CameraPosition输入变量,所以我很迷惑:有没有方法回收我的旧代码? 这里有一些参考资料。