2014-01-23 2 views
0

Я создаю скрипт установки php, который создает некоторые таблицы в базе данных и создает файл конфигурации. Все работает, но я не знаю, как проверить правильность своего хоста, имени пользователя и пароля. В настоящее время я проверяю, есть ли база данных или нет. Любая помощь будет оценена. Это на сервере WAMP, используя PHP 5.4.12. Переменные исходят из базовой формы.Проверьте учетные данные MySql перед созданием таблиц

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 
    { 

ответ

2

Функция, которую вы ищете, является mysqli_connect_error().

<?php 
$link = mysqli_connect('localhost', 'invalid_user', 'password'); 

if (!$link) { 
    die('Invalid database credentials. Mysql said: ' . mysqli_connect_error()); 
} 
?> 
+0

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

+0

Вы всегда можете используйте ['header()'] (http://www.php.net/header), чтобы перенаправить пользователя вместо 'die();' @ user114236 –

+0

Я обычно не использую 'die()', но поскольку вы использовали его в своем примере, я просто придерживался того же формата. Вы всегда можете установить какую-то переменную ошибки, а затем повторить ее обратно пользователю более дружелюбно. – Mike

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