Я хочу, чтобы веб-сайт подключался к базе данных с помощью connect.php, поэтому я создал небольшой тест в нем. но он терпит неудачу только показывая Сбой соединения с базой данных без ошибки mysql. вот код:
<?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";
?>
не могли бы вы, ребята, помочь мне? заранее спасибо
Удалите одинарные кавычки вокруг ваших переменных:
$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));
}
Попробуй это :
<?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";
?>
Если вы используете одинарные кавычки в методе / функции, интерпретатор не назначит значение переменной.
Решение может быть:
$connection = mysqli_connect($servername, $username, $password);
Вы также должны передать linkid ($ connection) при выборе базы данных.
$select_db = mysqli_select_db($connection, $dbname);