2012-07-06 2 views
1

Использование ubuntu 12.04 64 бит на Lenovo t410. Использование apache2 и Mysql 5.5 и попытка подключения через localhostMySQL не удается установить соединение с помощью PHP

Я пытаюсь установить соединение с базой данных, которую я создал на localhost. Когда строка кода достигнута для установления соединения, кажется, Mysql просто зависает, и после сообщения об ошибке не появляется. Я проверил, что эхо работает непосредственно перед попыткой подключения. Я знаю, что сервер apache2 работает, поскольку я могу получить доступ к странице индекса и отобразить мою html-форму.

Я пробовал etc/mysql/my.cnf, устанавливая адрес привязки на localhost.

Моя строка кода выглядит следующим образом:

// Attempts to establish connection to MySql server 
$connection = mysql_connect("localhost","username","password"); 

// Prints error message if the connection to MySql fails 
if (!$connection){ 
    die("Connection failed: " . mysql_error()); 
} 

echo "Connection established."; 

Я попробовал линию связи с одинарными кавычками и без каких-либо запятой, а также.

Я готов опубликовать содержимое любого файла конфигурации, который у меня есть, если ошибка не является синтаксисом. Я ничего не делал для Ubuntu, все по умолчанию установлено. Я новичок в CS и особенно в базах данных, PHP и в сети. Это мой маленький эксперимент, который я застрял.

Любая помощь очень ценится. Спасибо,

  • Дон
+0

Вы установили, работает ли mysql как служба? – Cups

+0

Что произойдет, если вы добавите это в начало вашего кода: 'error_reporting (E_ALL | E_STRICT);'? – jexact

+0

На первичном официальном документе PHP вы должны использовать MySQLi и mysqli_connect вместо mysql_connect. См. Php.net/manual/en/function.mysql-connect.php и php.net/manual/en/mysqli.construct.php. – technoTarek

ответ

-1

попытка установить

$mysql_user = "your_username"; 
$mysql_pass = "your_password"; 
$mysql_server = "Servername"; 

$link = mysql_connect($mysql_server,$mysql_user,$mysql_pass); 
if (!$link) { 
    header('HTTP/1.1 500'); 
    exit(); 
+0

Как это поможет? Во всяком случае, вы предоставляете МЕНЬШУЮ информацию об ошибке, чем исходный код! – Cylindric

+0

@ user1506616 Я вставил этот код и добавил скобу закрывающего угла и т. Д. Для контролируемого теста, и кажется, что оператор «если» не достигнут. – donsiuch

1

Может быть, потому что нет никакого сообщения об ошибке, что соединение установлено, но вы ничего не сделали Это? Я имею в виду, что остальная часть кода, там после того, как ваш код здесь что-то вроде:

mysql_select_db("database_name",$connection); 
+0

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

+0

Ваш комментарий: «Я добавил эту строку кода: ini_set ('display_errors', 1) и, наконец, получил сообщение об ошибке: Fatal error: вызов неопределенной функции mysql_connect() в /var/www/index.php в строке 9 . Я не уверен, что это значит: «----- Это означает, что функция недоступна. Вероятно, mysql не работает как служба. Вы должны проверить свою конфигурацию. –

1

После прочтения вашего последнего комментария, кажется, расширения MySQL не загружается. Посмотрите на ваши php.ini, раскомментируйте следующую строку (удалить точку с запятой в начале строки) и перезапустите Apache:

extension=php_mysql.so 

Убедитесь, что расширение существует в каталоге расширений PHP.

В связи с тем, что вы используете MySQL версию> 4.1.3, настоятельно рекомендуется использовать расширение mysqli. Посмотрите на это: PHP: MySQL Overview

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