2015-10-18 2 views
-5

Привет, ребята, я пытаюсь написать код для входа в систему, у меня есть все, но всякий раз, когда я пытаюсь войти в систему, он говорит Не удалось выбрать базу данных. Я не могу понять, у меня есть хостинг с One.com, и когда я вхожу в настройки PHP MySQL &, он говорит, что имя базы данных «c343_co_uk», что я использовал в приведенном ниже коде:Не удалось выбрать базу данных

UPDATE: это обнаружение базы данных, но всякий раз, когда я пытаюсь войти с точно таким же именем пользователя и паролем, который на MySQL это говорит недействительно Войти

Вот мой connection.php

<?php 
$username = "c343_co_uk"; 
$password = "abc"; 
$hostname = "c343.co.uk.mysql"; 

//connection to the database 
$connection = mysql_connect($hostname, $username, $password) 
    or die("Unable to connect to MySQL"); 


$selected = mysql_select_db("c343_co_uk",$dbhandle) 
    or die("Could not select Database"); 

?> 

Loginform.php

<!DOCTYPE html> 

<html> 

<a href="index.html" title="back to home">Home</a> 
</font> 
    <head> 

     <style> 
      body { 
       font-size: 14px; 
      } 

     </style> 
     <link rel="stylesheet" type="text/css" href="website.css" /> 
    </head> 
    <body> 


    <div id="loginform" style="font-family: 'ClearSans-Thin'; color: Black"> 


     Please enter your login details<br /><br /> 
     Username:<br /> 
     <form method="post" action="loginsubmit.php"> 
      <input type="text" name="username" /> 
      <br /> 
      Password:<br /> 
      <input type="password" name="password" /> 
      <br /> 
      <input type="submit" name="submit" value="Submit" /> 
     </form> 
     </center> 
</div> 
</body> 
</html> 

Loginsubmit.php

<?php 
session_start(); 
?> 
<font face="ClearSans-Thin"> 
<font color="lightgray"> 

<?php 

include 'connection.php'; 
include 'loginform.php'; 
?> 
<center> 
<?php 
if (isset($_POST['submit'])) 
    { 
    $user = $_POST['username']; 

    $pass = $_POST['password']; 
    //Counts up how many matches there are in the database 
    $query = "SELECT COUNT(*) AS cnt FROM users WHERE Username='" . mysqli_real_escape_string($connection, $user) . "' && Password='" . mysqli_real_escape_string($connection, $pass). "'"; 
    $result = mysqli_query($connection, $query); 
    $row = mysqli_fetch_assoc($result); 

    $queryadmin = "SELECT COUNT(*) AS cnt FROM admin WHERE Username='" . mysqli_real_escape_string($connection, $user) . "' && Password='" . mysqli_real_escape_string($connection, $pass). "'"; 
    $resultadmin = mysqli_query($connection, $queryadmin); 
    $rowadmin = mysqli_fetch_assoc($resultadmin); 
    //If count is more than 0, log user in. 
    if ($row["cnt"] > 0) 
    { 
     $_SESSION["userlogged"] = $user; 
     echo "Logged in - Press the home button to return to the homepage"; 
    } 
    //count for user table is 0, if there are more than 0 matches in the admin database, start admin session 
    else if ($rowadmin["cnt"] > 0) 
     { 
      $_SESSION["adminlogged"] = $user; 
      echo "Logged in - Press the home button to return to the homepage"; 
     } 
    else 
    { 
     echo 'Not a valid login'; 
    } 
} 
?> 
</center> 
+1

Где вы определяете '$ dbhandle'? – David

+1

Попробуйте 'echo mysql_error()', чтобы узнать, что представляет собой фактическое сообщение об ошибке. – andrewsi

+0

Я поменял dbhandle с подключением, теперь он подключается, мой плохой! Однако он не распознает учетные данные из таблицы, поэтому говорит недействительный вход. –

ответ

0

пытаются заменить

$selected = mysql_select_db("c343_co_uk",$dbhandle) 
    or die("Could not select Database"); 

с

$selected = mysql_select_db("c343_co_uk",$connection) 
    or die("Could not select Database"); 
+0

По-прежнему такая же ошибка, к сожалению! –

+0

На самом деле теперь появилась новая ошибка, говорящая, что это недействительный логин, я скопирую и вставлю php-код и форму входа в систему loginsubmit, одну секунду :) –

0

использовать это для подключения: -

$username = "c343_co_uk"; 

$password = "abc"; 

$hostname = "c343.co.uk.mysql"; 

$connection = mysql_connect($hostname, $username, $password); 

@mysql_select_db("c343_co_uk",$connection); 
0

вы можете попробовать этим путем

<?php 
define("DB_HOST", "c343.co.uk.mysql"); 
define("DB_USER", "c343_co_uk"); 
define("DB_PASSWORD", "abc"); 
define("DB_DATABASE", "c343_co_uk"); 
$conn = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD,DB_DATABASE); 

?> 
+1

Почему? Какую проблему это решит ...? Plesae объясняют. – MaggsWeb

1

попробовать это:

$dbname = "c343_co_uk" 
$username = "c343_co_uk"; 
$password = "abc"; 
$hostname = "c343.co.uk.mysql"; 

и заменить

$selected = mysql_select_db("c343_co_uk",$connection) 
    or die("Could not select Database"); 

к этому:

$selected = mysql_select_db($dbname,$connect) 
    or die("Could not select Database"); 

Я надеюсь, что работа! хорошего дня!

0

вы не делаете хост с MySQL, просто сделать c343.co.uk:

<?php 
$username = "c343_co_uk"; 
$password = "abc"; 
$hostname = "c343.co.uk"; 

//connection to the database 
$connection = mysql_connect($hostname, $username, $password) 
    or die("Unable to connect to MySQL"); 


$selected = mysql_select_db("c343_co_uk",$dbhandle) 
    or die("Could not select Database"); 

?> 

Я надеюсь, что эта работа! другой я снова посмотрю

Смежные вопросы