2014-11-11 3 views
0

Я хочу, чтобы сайт подключался к базе данных с помощью connect.php, поэтому я создал небольшой тест. но он не показывает только подключение к базе данных с ошибкой mysql. вот код:connect.php не удалось подключиться

<?php 
$servername = "localhost"; 
$username = "sqluser"; 
$password = "Welkom01!"; 
$dbname = "users"; 

$connection = mysqli_connect('$servername', '$username', '$password'); 
if (!$connection){ 
    die("Database Connection Failed". mysqli_error()); 
} 
$select_db = mysqli_select_db($dbname); 
if (!$select_db){ 
die("Database Selection Failed" . mysqli_error()); 
} 
echo "succes"; 
?> 

Можете ли вы, ребята, помочь мне? спасибо заранее

+0

Вы должны добавить переменные соединения DB к 'mysqli_error()', как в 'mysqli_error ($ соединения)' - редактирование: о, и кавычке. –

+0

Удалите одинарные кавычки вокруг параметров в вызове 'mysqli_connect()'. – cOle2

+0

Прохладный! У нас есть ваши учетные данные! –

ответ

2

Удалить одиночные кавычки вокруг переменных:

$connection = mysqli_connect($servername, $username, $password'); 

PHP обрабатывает содержимое одинарные кавычки как строки. Только двойные кавычки будут правильно оценивать переменные:

<?php 
$username = 'foo'; 
echo '$username'; // outputs: '$username' 
echo "$username"; // outputs: 'foo'; 
echo $username; // outputs : 'foo'; 

Кроме того, ваш mysqli_select_db неверен. Оно должно быть:

$select_db = mysqli_select_db($connection, $dbname); 

Как Фред указал ниже, mysqli_error требует подключения должны быть переданы в:

if (!$select_db){ 
    die("Database Selection Failed" . mysqli_error($connection)); 
} 
+0

спасибо, но теперь выбор не работает. Я попытался заменить строку dbname на имя базы данных (включая и исключая одиночные и двойные кавычки) –

+1

+1 Единственный, кто до сих пор это понял, однако просто одна вещь отсутствует: 'mysqli_error()' требует передачи соединения. Обратитесь к руководству: http://php.net/manual/en/mysqli.error.php –

1

Если вы используете одинарные кавычки в методе/функции, то интерпретатор не будет назначить значение переменной.

Раствор может быть:

$connection = mysqli_connect($servername, $username, $password); 

Вы также должны пройти LinkId ($ соединение) при выборе базы данных.

$select_db = mysqli_select_db($connection, $dbname); 
+0

Соединение происходит первым. http://php.net/manual/en/mysqli.select-db.php –

+0

У вас также есть паразитная цитата '$ password'' - Проконсультируйтесь с некоторыми другими ответами, включая принятый. –

+0

Смысл, эти '($ dbname, $ connection)' необходимо переключить. –

1

Попробуйте это:

<?php 
$servername = "localhost"; 
$username = "sqluser"; 
$password = "Welkom01!"; 
$dbname = "users"; 

$connection = mysqli_connect($servername, $username, $password); 
if (!$connection){ 
    die("Database Connection Failed". mysqli_error($connection)); 
} 
$select_db = mysqli_select_db($connection,$dbname); 
if (!$select_db){ 
die("Database Selection Failed" . mysqli_error($connection)); 
} 
echo "succes"; 
?> 
Смежные вопросы