【问题标题】:How to connect to MySQL database in PHP [duplicate]如何在 PHP 中连接到 MySQL 数据库 [重复]
【发布时间】:2019-03-13 13:31:37
【问题描述】:

我是 PHP 新手,但有人告诉我创建一个连接到 Mysql 数据库的登录表单。

我尝试了以下代码来连接数据库,尝试了使用和不使用数据库。我尝试了mysql_connect和其他东西,但总是得到同样的错误:(隐藏:服务器名和其他是服务器的正确信息,只是它不是公共的。)

致命错误:未捕获的错误:调用未定义的函数 mysqli() C:\Users\vg141fy\login\login.php:25 堆栈跟踪:#0 {main} 抛出 C:\Users\vg141fy\login\login.php 在第 25 行

<?php
    if (ISSET($_POST["submit"]))
    {
        $servername = "hidden:servername";
        $username = "hidden:username";
        $password = "hidden:password";
        $database = "hidden:database";

        $conn= mysqli($servername, $username, $password, $database);
    }
?>

我打开一个本地主机以使用“php -S localhost:4000”打开我的 php 页面,但我不使用 XAMPP。我应该使用它,还是有其他遗漏的东西?

【问题讨论】:

  • 你试过用谷歌搜索错误吗?因为我得到的第一个结果就是这个,它准确地描述了你的问题和解决方案:stackoverflow.com/questions/13170672/…
  • 或使用new mysqli()
  • 我试过了,但没有一个解决方案适合我。我不断收到错误@ArtvanScheppingen
  • 使用新的 mysqli(),我得到了这个错误:致命错误:未捕获的错误:在 C:\Users\vg141fy\login\login.php:25 中找不到类 'mysqli' 堆栈跟踪:# 0 {main} 在第 25 行的 C:\Users\vg141fy\login\login.php @aynber 中抛出
  • 确保您的 PHP 与 mysqli 相结合,可以通过将 &lt;?php phpinfo(); 放入文件并检查已安装的扩展来找到它。如果未安装,您需要检查如何为您的版本和操作系统安装它

标签: php mysql


【解决方案1】:

看看quick start guide

如果您使用的是OO接口,则需要包含new关键字。

$conn = new mysqli($servername, $username, $password, $database);

如果你使用的是程序接口,那么你需要使用mysqli_connect函数。

$conn = mysqli_connect($servername, $username, $password, $database);

【讨论】:

    【解决方案2】:

    您必须首先检查连接是否成功建立
    使用此连接您的数据库

    <?php
    $servername = "localhost";
    $username = "username";
    $password = "password";
    $dbname = "myDB";
    
    // Create connection
    $conn = new mysqli($servername, $username, $password, $dbname);
    
    // Check connection
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    } 
    else{
        echo "success";
    }
    
    ?>
    

    如果它给出成功消息,那么错误应该在您的连接后代码中,因此请尝试创建表并检查

    【讨论】:

    • die("Connection failed: " . $conn-&gt;connect_error); 并且当连接由于某种原因失败时,“每个人”都知道 MySQL 被用作数据库...Information leak/disclosure 在像您使用的多汁错误中实际上是一个应用程序漏洞
    • "kinda" 是 PHP 中的一个新功能,所以我建议学习基本代码以了解与数据库的连接,所以我建议为他提供这个答案
    【解决方案3】:

    尝试更改下面的数据库凭据并确保它与您的匹配。

    如果连接失败,会在could not connect to database下方打印错误。

      <?php
         $dbhost = 'localhost';
         $dbuser = 'your-db-username';
         $dbpass = 'your-db-pass';
         $conn = mysqli_connect($dbhost, $dbuser, $dbpass);
    
         if(! $conn ){
            //die('Could not connect: ' . mysqli_error());
        echo 'Could not connect to database ';
         }
    
         echo 'Connected successfully';
         mysqli_close($conn);
      ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-09
      • 1970-01-01
      • 2011-06-10
      • 1970-01-01
      • 1970-01-01
      • 2018-10-28
      • 2020-09-29
      • 2013-08-10
      相关资源
      最近更新 更多