Php mysql连接成功,但未选择数据库?

Php mysql连接成功,但未选择数据库?,php,mysql,codeigniter,mysqli,Php,Mysql,Codeigniter,Mysqli,第一次使用mysqli,并在准备好的语句中苦苦挣扎。 这是数据库问题还是表问题 这是使用CodeIgniter框架和自动配置。。。 我使用的是database.php自动配置文件 我的连接由$con=mysqli_connect()或die('Error in Connecting:')建立。mysqli_Error($con))并显示为成功 我准备好的语句是$stmt=mysqli\u prepare($con,“插入到表(documentID)值(?) 然后,当我检查准备好的语句时,我得到

第一次使用mysqli,并在准备好的语句中苦苦挣扎。 这是数据库问题还是表问题

这是使用CodeIgniter框架和自动配置。。。

  • 我使用的是database.php自动配置文件
  • 我的连接由
    $con=mysqli_connect()或die('Error in Connecting:')建立。mysqli_Error($con))并显示为成功
  • 我准备好的语句是
    $stmt=mysqli\u prepare($con,“插入到表(documentID)值(?)
  • 然后,当我检查准备好的语句时,我得到一个错误
    1046未选择任何数据库
    ,但我的代码只是告诉数据库选择/连接正常 下面是我的模型中的俯视图:

    $con = mysqli_connect() or die('Error in Connecting: ' . mysqli_error($con));
    
    if (!$con) {
            echo "Error: Unable to connect to MySQL." . PHP_EOL;
            echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;
            echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;
            echo "<b>";
            exit;
        }
        else
        {
            echo "Success: A proper connection to MySQL was made! The my_db database is great." . PHP_EOL;
            echo "Host information: " . mysqli_get_host_info($con) . PHP_EOL;
    
    //Success: A proper connection to MySQL was made! 
    
    $stmt = mysqli_prepare($con, "INSERT INTO table(documentID) VALUES (?)");
    if (!$stmt) {
            echo "Problem <b>";
            $error = $con->errno . ' ' . $con->error;
                echo $error; // 1046 No database selected
                exit;
            }
    
    $con=mysqli_connect()或die('Error in Connecting:'。mysqli_Error($con));
    如果(!$con){
    echo“错误:无法连接到MySQL。”.PHP\u EOL;
    echo“调试错误号:”.mysqli\u connect\u errno().PHP\u EOL;
    echo“调试错误:”.mysqli\u connect\u error().PHP\u EOL;
    回声“;
    出口
    }
    其他的
    {
    echo“成功:与MySQL建立了正确的连接!my_db数据库很棒。”.PHP_EOL;
    echo“主机信息:”.mysqli\u get\u Host\u info($con).PHP\u EOL;
    //成功:与MySQL建立了正确的连接!
    $stmt=mysqli_prepare($con,“插入表(documentID)值(?));
    如果(!$stmt){
    呼应“问题”;
    $error=$con->errno.''.$con->error;
    echo$error;//1046未选择任何数据库
    出口
    }
    
    如果您只需要在同一连接上使用不同的数据库,则不需要创建单独的数据库配置。您可以在需要时切换到不同的数据库,如下所示:

    $this->db->db_select($database2_name);
    

    如果您只需要在同一连接上使用不同的数据库,则不需要创建单独的数据库配置。您可以在需要时切换到不同的数据库,如下所示:

    $this->db->db_select($database2_name);
    

    重要的是要注意,在建立数据库连接时需要考虑几个层。首先需要连接到服务器,然后连接到您所选择的数据库。一旦完成,您就可以运行查询。 查看mysqli_connect()的PHP手动条目


    在MySQL连接方法被编译后不会有MySQL错误,这是不足为奇的,因为你实际上从来没有要求它做任何事情。

    重要的是要注意在进行数据库连接时要考虑几个层次。首先需要连接到服务器,然后连接到CHO的数据库。完成后,您就可以运行查询了

    查看mysqli_connect()的PHP手动条目


    在构造mysqli_connect方法之后,不会出现mysqli错误也就不足为奇了,因为您实际上从未要求它做任何事情。

    为了便于下一个可能遇到此问题的人阅读……有几个片段回答了我的问题

    • Fred ii指出,“CI使用不同的方法作为准备好的声明” 回首往事,我不知道我是如何忘记这一点的。突然之间,我在CodeIgniter框架之外苦苦挣扎于mysqli语句,并找到了错误的答案

    • OffTheBricks指出,“在构造mysqli_connect方法之后,不会出现mysqli错误,这并不奇怪,因为实际上您从未要求它做任何事情。”

    显然,假设我的自动配置是正确的,并且错误检查表明我的数据库连接一切正常,这仅仅是因为我混合了两种不同的技术:CodeIgniter自动配置文件和标准mysqli


    谢谢你的帮助……现在感觉自己有点像个白痴。

    为了让下一个可能遇到这种情况的人更容易阅读……这里有几个片段回答了我的问题

    • Fred ii指出,“CI使用不同的方法作为准备好的声明” 回首往事,我不知道我是如何忘记这一点的。突然之间,我在CodeIgniter框架之外苦苦挣扎于mysqli语句,并找到了错误的答案

    • OffTheBricks指出,“在构造mysqli_connect方法之后,不会出现mysqli错误,这并不奇怪,因为实际上您从未要求它做任何事情。”

    显然,假设我的自动配置是正确的,并且错误检查表明我的数据库连接一切正常,这仅仅是因为我混合了两种不同的技术:CodeIgniter自动配置文件和标准mysqli


    感谢您的帮助…现在感觉自己有点傻。

    没有主机、用户或密码,连接怎么可能成功?这是一个连接问题。
    $con=mysqli\u connect()
    如果这是你的真实代码,这里很明显。RTM有你吗?因为CI是一种完全不同的动物,不使用相同的语法。编辑:对不对Sam?@Jayblanchard另一件事,CI使用不同的方法作为准备语句没有主机、用户或密码,连接如何成功?这是一个连接p问题。
    $con=mysqli\u connect()
    如果这是你的真实代码,这里很明显。RTM有你吗?因为CI是一种完全不同的动物,不使用相同的语法。编辑:对吗,山姆?@Jayblanchard另一件事,CI使用不同的方法作为准备语句…你从来没有要求它做任何事情…我认为这是这里的关键…你从来没有要求它做任何事……我想这是关键。