gpt4 book ai didi

php - php 5.6 中的 mysql 问题未选择数据库

转载 作者:行者123 更新时间:2023-11-29 15:25:33 25 4
gpt4 key购买 nike

我在使用 php 5.6 中的 php 代码连接到 mysql 数据库时遇到问题

我有问题,没有选择数据库!

我的代码是

$GLOBALS["mysql_handle"] = @mysql_connect($config["hostname"], $config["user_database"], $config["password_database"], true);
if( !isset($GLOBALS["mysql_handle"]) && (!$GLOBALS["mysql_handle"] || !@mysql_select_db($config["database_name"], $GLOBALS["mysql_handle"]) || !@mysql_query("set names utf8", $GLOBALS["mysql_handle"]) || !@mysql_query("set character set utf8", $GLOBALS["mysql_handle"])) )
{
$GLOBALS["mysql_error"] = mysql_error();
mysql_close2();
return false;
}

最佳答案

    不应再使用
  1. mysql_ 函数。如果您正在为项目编写新代码,请花时间进行现代化改造。使用 mysqli 或 pdo。

Warning This extension was deprecated in PHP 5.5.0, and it was removed in PHP 7.0.0. Instead, the MySQLi or PDO_MySQL extension should be used. See also MySQL: choosing an API guide and related FAQ for more information. Alternatives to this function include:

mysqli_connect()

PDO::__construct()

  • 错误抑制器@,它通常是代码编写不当的证据。避免使用这种技术。适本地处理生成的错误。

  • isset() 进行两项检查:

    • 变量是否已声明?
    • 该值不是null吗?
  • 因为您在第一行声明 $GLOBALS["mysql_handle"],所以它将始终被设置。

    因为mysql_connect():

    Returns a MySQL link identifier on success or FALSE on failure.

    ...该值永远不会为 null

    因此 !isset($GLOBALS["mysql_handle"]) 永远不会计算为 true 并且永远不会达到以下条件:

    && (!$GLOBALS["mysql_handle"]
    || !@mysql_select_db($config["database_name"], $GLOBALS["mysql_handle"])
    || !@mysql_query("set names utf8", $GLOBALS["mysql_handle"])
    || !@mysql_query("set character set utf8", $GLOBALS["mysql_handle"])
    )

    遇到困难时请阅读 php 手册。

    $GLOBALS["mysql_handle"] = mysql_connect($config["hostname"], $config["user_database"], $config["password_database"], true);
    if (!$GLOBALS["mysql_handle"]
    || !mysql_select_db($config["database_name"], $GLOBALS["mysql_handle"])
    || !mysql_query("set names utf8", $GLOBALS["mysql_handle"])
    || !mysql_query("set character set utf8", $GLOBALS["mysql_handle"])
    ) {
    $GLOBALS["mysql_error"] = mysql_error();
    mysql_close2();
    return false;
    }

    关于php - php 5.6 中的 mysql 问题未选择数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59115521/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com