【问题标题】:How do i connect to mysql server? and what do i use for the parameters?我如何连接到mysql服务器?我用什么参数?
【发布时间】:2023-03-19 17:07:01
【问题描述】:

我正在尝试为我的网站创建一个登录名,我需要将电子邮件、用户名、密码等存储在我已经使用 phpMyAdmin 创建的数据库中。我已经阅读了一篇又一篇文章,但似乎没有任何效果。我有这样的connect.php:

<?
$hostname = "localhost";
$username = "username";
$password = "password";
$databaseName = "_mySiteUserDataBase";

mysql_connect($hostname, $username, $password) or die("Cannot connect to server");
mysql_select_db($databaseName) or die("Cannot select database");
?>

而我的 main.php 是这样的:

<?
include("connect.php");

$tableName = "myUsers";
$sql = "SELECT * FROM $tableName";
$result = mysql_query($sql);
?>

我在我的 html 中创建了一个简单的表单,如下所示:

<html>
    <head></head>
    <body>
        <form>
            <input type = "submit" action = "main.php" method = "post" value = "Login">
        </form>
    </body>
</html>

提交表单后,它说无法连接到服务器。我是 php 和 mysql 的新手,我不明白 mysql_connect 中的每个参数是什么,我不知道他们做了什么,因此我不确定我应该输入什么,但我一直在阅读的每个人似乎都在输入随机值?我可以对此使用一个简短的解释,因为我被困在连接上,甚至无法通过这一点很可悲。此外,我一直在阅读 mysql_connect 已被弃用并且不再有效,但我不明白我应该使用什么作为替代方案。我知道它的 mysqli,但就是这样,我不清楚语法。

【问题讨论】:

  • 你连接服务器的用户名和密码是usernamepassword吗?并使用prepared statement 而不是deprecated mysql_*
  • 正如@LoganWayne 所说,因为无论如何你都是新手,所以从 mysqli 或 pdo 开始。他们很酷。
  • 不,我不确定它是什么。我不知道在哪里可以找到这些信息,好的,我会尝试 mysqli
  • 代码 sn-p 看起来不错。凭据是否可能完全错误?如果没有,请尝试将localhost 替换为127.0.0.1,看看是否可行。关于 mysqli:最懒惰的方法是将所有 mysql_* 实例替换为对应的 mysqli_* 实例,但我认为面向对象的风格会是更好的做法。这是一个代码示例:php.net/manual/en/…
  • 您可以在您的 PhpMyAdmin 页面中查找用户名。但通常,遵循简单指令的初学者会将用户名设置为root,并且没有密码。也许你可以试试。

标签: php html mysql database forms


【解决方案1】:

mysqli:

<?php
    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
    echo "start<br/>";
    try {
        $mysqli= new mysqli('localhost', 'myusername', 'mypassword', 'dbname');
        if ($mysqli->connect_error) {
            die('Connect Error (' . $mysqli->connect_errno . ') '
                . $mysqli->connect_error);
        }
        echo "I am connected and feel happy.<br/>";
        $mysqli->close();
    } catch (mysqli_sql_exception $e) { 
        throw $e; 
    } 
?>

如果您需要知道如何创建用户、主机名到底是什么、如何授予访问权限(通常在连接后很有用 :>),请问。

【讨论】:

    【解决方案2】:

    在'connect.php'中试试这个代码

    <?php
    error_reporting(0);
    
    $con=mysql_connect('localhost','root','');// here 'root' is your username and "" is password
    
    if(!$con)
    
    {
    echo 'not connect';die;
    
    }
    
    mysql_select_db('dbname',$con);// here 'dbname' is your database name
    
    
    ?>
    

    还可以尝试以下代码在您的其他 php 文件(main.php)中包含 sql 连接

    <?php 
    
        include 'connect.php';
    $sql = "SELECT * FROM myUsers";
    $result=mysql_query($sql);
    ?>
    

    【讨论】:

      【解决方案3】:

      让我为您将它转换为 mysqli,也许这会解决问题。另外,请确保用户名、密码和数据库名称正确。

      试试这个代码。至少,它将为调试提供更好的错误消息。

      <?
      $hostname = "localhost";
      $username = "username";
      $password = "password";
      $databaseName = "_mySiteUserDataBase";
      
      $con = mysqli_connect($hostname, $username, $password, $databaseName) or die(mysqli_error($con));
      ?>
      

      Main.php

      <?
      include("connect.php");
      
      $tableName = "myUsers";
      $sql = "SELECT * FROM $tableName";
      $result = mysqli_query($con,$sql);
      ?>
      

      【讨论】:

      • 在哪里可以找到我的用户名和密码?
      • 您说您已经使用 phpMyAdmin 来管理您的数据库?它应该是相同的用户名和密码。如果您使用 cPanel 或其他主机面板,这意味着您只需单击 phpMyadmin 按钮并自动登录,您可以按照本文获取您的用户名和密码(使用您自己的主机面板执行第 1 步):inmotionhosting.com/support/website/databases/…
      • 啊谢谢你这就是我要找的。这次我没有收到任何错误。非常感谢。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-08-22
      • 1970-01-01
      • 2011-10-11
      • 1970-01-01
      • 2010-11-20
      • 2018-10-27
      • 1970-01-01
      相关资源
      最近更新 更多