PHP и MySQL не сообщают

Я пришел к выводу, что моя установка PHP и моя установка MySQL не ладят; Я работаю над созданием своей первой веб-страницы, использующей MySQL для контента, но через два дня, man-страницы, онлайн-документацию и десятки руководств, я просто не могу заставить часть PHP / MySQL работать. У меня есть установленный домашний веб-сервер (я единственный администратор / пользователь), который запускает Apache и размещает мои веб-страницы. У меня установлен MySQL, и я смог создать и запросить базу данных через Terminal. У меня установлен PHP, и вы можете использовать echo для печати текста в документе. Когда я работаю с MySQL, все меняется ...

У меня есть страница, содержащая материал инициализации. содержит несколько абзацев жестко кодированного HTML, а затем PHP-код для доступа к MySQL. Когда я впервые загрузил страницу, все это привело к пустой странице. Я прокомментировал раздел PHP и перезагрузился, чтобы подтвердить, что простой HTML все еще работал, что и было. Поэтому некоторая часть PHP не позволяла любой странице загружаться.

Чтобы начать устранение неполадок с моим кодом, я оставил весь код PHP, за исключением следующего кода для подключения к серверу, который был адаптирован из нескольких различных учебников:

<?
echo("<p>PHP is working</p>"); 
$ses = mysql_connect("localhost","username","password");
if(!$ses){
 echo("<p>Connection to content server failed.</p>");
 exit();
}
echo("<p>Database Connected</p>");
?>

страница загружается, в начале HTML загружается в дополнение к абзацу, читающему «PHP работает», но не появляется сообщение об ошибке или успехе. Я удалил структуру If из кода - так что остались только два эха и mysql_connect - и получил тот же результат.

Кажется, что функция mysql_connect заставляет сервер прекращать загрузку кода при его запуске, но у меня нет идей о том, как его исправить. Для записи: я изменил файл php.ini, включив строку «connection = msql.so», и я использую MySQL 5.5, Apache 2.2.22, PHP 5.3.10, Ubuntu 12.04. Кроме того, как мой маршрутизатор, так и модем были настроены для пересылки порта 3306 на сервер, хотя я не вижу, как это необходимо, и мое имя пользователя и пароль MySQL было проверено тройкой и идентичны тем, которые я использую успешно в терминале.

Что мне не хватает?

1
задан 24 December 2012 в 07:13

2 ответа

Установите пакет php5-mysql и используйте mysqli_connect вместо mysql_connect

3
ответ дан 25 May 2018 в 03:06
  • 1
    Спасибо, кто-то еще предложил это тоже, и это сработало! Мне любопытно, хотя в моих поисках я столкнулся с вещами о mysqli (и PDO, как правило, там тоже), что это? Что делает его лучше, чем обычный mysql? – Casey Hungler 24 December 2012 в 08:03
  • 2
    MySQLi - улучшенная версия. – owl 24 December 2012 в 08:07
  • 3
    Из того, что я знаю, вы должны использовать mysqli, как это рекомендовано командой php, а mysql_connect больше не находится в разработке, а только в обслуживании. Я думаю, что mysql_connect не принимает подготовленные заявления, например, и многое другое. – laurent 24 December 2012 в 08:09
  • 4
sudo apt-get install php5-mysql

Найти версию Tomcat с /etc/init.d/. Должен быть файл с именем tomcat7, поэтому 7 - это версия

sudo service tomcat7 stop 
sudo service tomcat7 start

Иногда перезагрузка компьютера помогает сортировать другие проблемы. После перезагрузки не забудьте запустить:

sudo service tomcat7 start 
1
ответ дан 25 May 2018 в 03:06

Другие вопросы по тегам:

Похожие вопросы: