2015-10-12 44 views
0

我想制作一个安装文件,这样当用户使用我的脚本时,他们可以将他们的凭据输入到多个表单中,并将其发布到数据库文件等文件中。为数据库安装PHP

我的继承人的安装文件中的代码:

<html> 

<head> 
    <title>Installation</title> 
     <link href="/css/bootstrap.min.css" rel="stylesheet" media="screen"> 

</head> 
    <div class="container"> 
     <h2>Welcome to McApplicator!</h2> 
      <p>Installation is simple. Please follow the instructions below.</p> 

      <?php 

         $dbhost = $_POST['database_server']; 
         $dbusername= $_POST['database_user']; 
         $dbpasswd= $_POST['database_password']; 
         $database_name= $_POST['database_name']; 
         $owner_email = $_POST['owner_email']; 


      ?> 
    <form action="register.php" method="post" name="" id=""> 

     <div class="form-group"> 
          <label>Database Server</label> 
          <input type="text" class="form-control" name="database_server" value="localhost" /> 
         </div> 
         <div class="form-group"> 
          <label>Database User</label> 
          <input type="text" class="form-control" name="database_user" /> 
         </div> 
         <div class="form-group"> 
          <label>Database Password</label> 
          <input type="text" class="form-control" name="database_password" /> 
         </div> 
         <div class="form-group"> 
          <label>Database Name</label> 
          <input type="text" class="form-control" name="database_name" /> 
         </div> 

        <div class="form-group"> 
          <label>Owners Email</label> 
          <p class="help-block">e.g: [email protected]</p> 
          <input type="text" class="form-control" name="owner_email" /> 
         </div> 

         <div class="form-group"> 
          <button type="submit" name="submit" class="btn btn-primary col-lg-4">Install</button> 
         </div> 
        </form> 
</html> 

,然后db.php中文件

<? 
/* Database Information - Required!! */ 
/* -- Configure the Variables Below --*/ 
    $dbhost = $_POST['database_server']; 
$dbusername= $_POST['database_user']; 
$dbpasswd= $_POST['database_password']; 
$database_name= $_POST['database_name']; 

/* Database Stuff, do not modify below this line */ 

$connection = mysql_pconnect("$dbhost","$dbusername","$dbpasswd") 
    or die ("Couldn't connect to server."); 

$db = mysql_select_db("$database_name", $connection) 
    or die("Couldn't select database."); 
?> 

但是它说,它无法连接到数据库。

谢谢, 马克

+1

我会注意,使用' “$ DBHOST”'是毫无意义的。只需直接使用这些变量而不用引号包装它。 “ – samlev

+1

”无法连接到数据库“不是您的错误消息之一。您是否收到“无法连接到服务器”。或“无法选择数据库”。 – castis

+0

作为第二个注意事项,函数'mysql_ *'系列已折旧,不应再使用。看看[PDO](http://php.net/manual/en/book.pdo.php)。 – samlev

回答

1

您使用的变量作为一个字符串。从这些变量中删除“”。

按照只需更换$connection变量:

$connection = mysql_pconnect($dbhost,$dbusername,$dbpasswd) 

并且还通过以下替换$db变量:

$db = mysql_select_db($database_name) 

所以整个代码 -

$dbhost = $_POST['database_server']; 
$dbusername= $_POST['database_user']; 
$dbpasswd= $_POST['database_password']; 
$database_name= $_POST['database_name']; 

/* Database Stuff, do not modify below this line */ 

$connection = mysql_pconnect($dbhost,$dbusername,$dbpasswd) 
or die ("Couldn't connect to server."); 

$db = mysql_select_db($database_name) 
or die("Couldn't select database."); 

注mysql_pconnect()和mysql_select_db()函数不推荐使用 。您可以使用mysqli_connect()mysqli_select_db()代替 这些函数。 MySQLi是一个改进版本。

使用这样 -

$dbhost = $_POST['database_server']; 
    $dbusername= $_POST['database_user']; 
    $dbpasswd= $_POST['database_password']; 
    $database_name= $_POST['database_name']; 

    /* Database Stuff, do not modify below this line */ 

    $connection = mysqli_connect($dbhost,$dbusername,$dbpasswd) 
    or die ("Couldn't connect to server."); 

    $db = mysqli_select_db($database_name) 
    or die("Couldn't select database.");