2015-10-12 43 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.");