【问题标题】:Check MySql credentials before creating tables在创建表之前检查 MySql 凭据
【发布时间】:2014-01-23 03:01:02
【问题描述】:

我正在创建一个安装 php 脚本,该脚本在数据库中创建一些表并创建一个配置文件。一切正常,但我不知道如何检查他们的主机、用户名和密码是否正确。我目前检查数据库是否存在..任何帮助将不胜感激。这是在使用 PHP 5.4.12 的 WAMP 服务器上。变量来自基本形式。

session_start();

$_SESSION['dbdatabase'] = $_POST['dbdatabase'];
$_SESSION['dbhost'] = $_POST['dbhost'];
$_SESSION['dbusername'] = $_POST['dbusername'];
$_SESSION['dbpassword'] = $_POST['dbpassword'];

$conn=mysqli_connect($_SESSION['dbhost'],$_SESSION['dbusername'],$_SESSION['dbpassword']);


if(!mysqli_select_db($conn, $_SESSION['dbdatabase']))
   {
   die ('Database does not exists. Please create a database before installing Pazzilla BackOffice.');
       }         
     else 
     {

【问题讨论】:

    标签: php mysql database wamp


    【解决方案1】:

    您要查找的函数是mysqli_connect_error()

    <?php
    $link = mysqli_connect('localhost', 'invalid_user', 'password');
    
    if (!$link) {
        die('Invalid database credentials. Mysql said: ' . mysqli_connect_error());
    }
    ?>
    

    【讨论】:

    • 当凭据错误时会杀死脚本,这样才能正常工作。我想我正在寻找一种方法,如果用户弄错主机或用户名等,则将其送回......跨度>
    • 您始终可以使用header() 来重定向用户而不是die(); @user114236
    • 我一般不使用die(),但是由于您在示例中使用了它,所以我只是遵循相同的格式。您总是可以设置某种错误变量,然后以更友好的方式将其回显给用户。
    • 那是票……谢谢大家!
    猜你喜欢
    • 1970-01-01
    • 2019-12-05
    • 1970-01-01
    • 2011-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多