2016-06-14 4 views
0

Я создал базу данных на az.pl Я хотел использовать старый код, который отлично работает на другом сайте. Я получаю сообщение об ошибке:У меня проблемы с подключением к mysql

Could not connect to mysql

Вот мой код:

$dbh = mysqli_connect("localhost","user","password", "db") or die ("could not connect to mysql"); 

Я также попытался:

$c = mysql_connect("localhost", "user", "password"); 
mysql_select_db("db"); 
$result = mysql_query("SELECT 'Hello, dear MySQL user!' AS _message FROM DUAL"); 
$row = mysql_fetch_assoc($result); 
echo htmlentities($row['_message']); 

И с тем же результатом, сообщение об ошибке.

Я искал в Интернете, но я не нашел точной проблемы.

+0

Звучит так, как будто имя хоста, имя пользователя или пароль неверны и/или база данных не существует. –

+0

Пожалуйста, [прекратите использование 'mysql_ *' функций] (http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php). [Эти расширения] (http://php.net/manual/en/migration70.removed-exts-sapis.php) были удалены в PHP 7. Узнайте о [подготовленном] (http://en.wikipedia.org/ wiki/Prepared_statement) для [PDO] (http://php.net/manual/en/pdo.prepared-statements.php) и [MySQLi] (http://php.net/manual/en/mysqli.quickstart .prepared-statements.php) и подумайте над использованием PDO, [это действительно довольно легко] (http://jayblanchard.net/demystifying_php_pdo.html). –

+0

Здравствуйте, Jay Я пробовал код PDO: $ pdo = new PDO ('mysql: host = localhost; dbname = database', 'user', 'password'); $ statement = $ pdo-> query ("SELECT" Привет, уважаемый пользователь MySQL! "AS _message FROM DUAL"); $ row = $ statement-> fetch (PDO :: FETCH_ASSOC); echo htmlentities ($ row ['_ message']); – Neko

ответ

0

Рассмотрим следующие документацию при отладке проблемы подключения:

http://php.net/manual/en/function.mysqli-connect.php

<?php 
$link = mysqli_connect("localhost", "user", "password", "db"); 

if (!$link) { 
    echo "Error: Unable to connect to MySQL." . PHP_EOL; 
    echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL; 

    // this will tell you why the connection failed 
    echo "Debugging error: " . mysqli_connect_error() . PHP_EOL; 

    exit; 
} 

echo "Success: A proper connection to MySQL was made! The my_db database is great." . PHP_EOL; 
echo "Host information: " . mysqli_get_host_info($link) . PHP_EOL; 

mysqli_close($link); 
?> 
+0

Hello MonkeyZeus , Спасибо за предложение. Я добавил ваш код и вот ошибка, которую я получил: Ошибка: невозможно подключиться к MySQL. Отладка errno: 2002 Ошибка отладки: не удается подключиться к локальному серверу MySQL через сокет '/var/lib/mysql/mysql.sock' (2) – Neko

+0

Я добавил порт № 3306. Таким образом, его localhost: 3306 и я получил еще один Ошибка: Ошибка: невозможно подключиться к MySQL. Отладка errno: 2005 Ошибка отладки: Неизвестный сервер MySQL host localhost: 3306 (1) – Neko

+0

@Neko Похоже, что MySQL не работает, не установлен или не настроен для неправильного порта. Проверьте http://stackoverflow.com/questions/11657829/error-2002-hy000-cant-connect-to-local-mysql-server-through-socket-var-run – MonkeyZeus

0

я, наконец, подключение к базе данных. Все, что мне нужно сделать, это изменить IsSet к тому, если в следующем коде:

if (!$_GET['pid']) { 
    $pageid = '1'; 
} else { 
    $pageid = ereg_replace("[^0-9]", "", $_GET['pid']); // filter everything but numbers for security 
} 
// Query the body section for the proper page 
$sqlCommand = "SELECT pagebody FROM pages WHERE id='$pageid' LIMIT 1"; 
$query = mysqli_query($link, $sqlCommand) or die (mysqli_error()); 
while ($row = mysqli_fetch_array($query)) { 
    $body = $row["pagebody"]; 
} 

я использовал MonkeyZeus код для подключения к database.Thank вас MonkeyZeus.

+0

Здравствуйте, @MonkeyZeus, могу ли я запросить ваши контактные данные? У меня есть запрос – Neko

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