Я недавно установил сервер LAMP в Oracle VM VirtualBox, используя рабочий стол Ubuntu 14.0, чтобы я мог узнать о взаимодействии PHP с базами данных MySQL.
Я не могу установить соединение с моей базой данных. Он не выдает никаких сообщений об ошибках, даже если я использую неправильное имя пользователя. Я знаю, что правильно настроил LAMP, потому что я запускал другие файлы PHP на localhost.
Это мой сценарий:
<?php
function conexao() {
$db = 'webservice';
$user = 'xxxxx';
$pass = 'xxxxx';
$host = 'localhost';
$conn = mysql_connect($host,$user,$pass);
mysql_select_db($db);
}
conexao();
?>
Я должен получить сообщение, когда мои данные соединения неверны, верно? Ну, ничего не происходит, так же, как когда каждая информация в порядке.
Вы можете попробовать этот скрипт, который я использую для подключения к моей БД
<?php
define("HOST", "localhost"); // The host you want to connect to.
define("USER", "username"); // The database username.
define("PASSWORD", "password"); // The database password.
define("DATABASE", "webservice"); // The database name.
date_default_timezone_set('Europe/Stockholm');
$con = mysqli_connect(HOST, USER, PASSWORD, DATABASE);
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error() . "\n";
}
mysqli_set_charset($con, "utf8");
?>
Если это не сработает, возможно, это ошибка в запросе, где вы вызываете скрипт.
function conexao() {
$db = 'webservice';
$user = 'xxxxx';
$pass = 'xxxxx';
$host = 'localhost';
$conn = mysql_connect($host,$user,$pass);
if(!$conn){
$retval = 'Could not Connect' . mysql_error();
}
else if(!mysql_select_db($db)){
$retval = 'Could not select db' . mysql_error();
}
else{
$retval = 'Success';
}
return $retval;
} // end of function
Теперь на вашем вызове функции обработайте возвраты соответственно.
*** mysql не рекомендуется использовать вместо этого mysqli или PDO.
}