|
|
|
| Как проверить работоспособность PHP+MySQL?
WinXP + Apache 2.0.54 + PHP 5.0.5 + MySQL 4.0.26-nt, чистая база, пользователь - root, пароля и привелегий - нет.
Служба MySQL запущена.
Сценарии PHP выполняются, mysql из командной строки работает.
Нужно ли подключать в php.ini библиотеку php-mysql.dll, или нет? Если нужно, то где ее взять (такого файла на компе поиск не обнаружил)?
Извините за такие несерьезные вопросы - первые шаги...
Буду признателен за помощь!
P.S. "... не доходят..." - это значит, что при запуске нижеприведенного сценария, в IE ничего не отображается - чистый лист, кроме <title>.
<html>
<head>
<title>Запрос к БД тест</title>
</head>
<body>
<?php
// Имя сервера базы данных, например $dblocation = "mysql28.noweb.ru"
// сейчас выставлен сервер локальной машины
$dblocation = "localhost";
// Имя базы данных
$dbname = "test";
// Имя пользователя... Скорее всего будет совпадать с вашим доменным именем
// у нас, например $dbuser = "softtime";
$dbuser = "root";
//$dbuser = "evgen";
// Пароль - в комментариях не нуждается ;-)
$dbpasswd = "";
// Соединяемся с сервером базы данных
$dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);
if (!$dbcnx) {
echo( "<P>В настоящий момент сервер базы данных не
доступен, поэтому корректное отображение
страницы невозможно.</P>" );
exit();
}
// Выбираем базу данных
if (! @mysql_select_db($dbname,$dbcnx) ) {
echo( "<P>В настоящий момент база данных не доступна,
поэтому корректное отображение страницы
невозможно.</P>" );
exit();
}
// Формируем и выполняем SQL-запрос для посетителя с
// именем $_POST['name']
//$query = "SELECT password FROM users WHERE name='".$_POST['name']."'";
$query = "SELECT password FROM customers WHERE name='".$_POST['name']."'";
$nme = mysql_query($query);
if(!$nme)
{
echo "Ошибка выполнения запроса";
exit();
}
// Если запрос вернул результат - производим дальнейшую обработку
if(mysql_num_rows($nme) > 0)
{
// Получаем пароль
$password = mysql_result($nme,0);
// Сравниваем пароль из базы данных и введённый посетителем
if ($_POST['password'] == $password) echo "Привет, $name !";
else
{
echo "Ошибка идентификации: неправильный пароль";
exit();
}
}
// Если в результате запроса не получено ни одной
// строки - посетитель с таким именем не зарегистрирован
else
{
echo "Ошибка идентификации: посетитель не зарегистрирован";
exit();
}
?>
</body>
</html> | |
|
|
|
|
|
|
|
для: Evgen
(20.03.2006 в 15:13)
| | >P.S. "... не доходят..." - это значит, что при запуске
>нижеприведенного сценария, в IE ничего не отображается -
>чистый лист, кроме <title>.
А сам PHP работает?
Больше похоже на то, что не настроен apache для обработки PHP-кода.
Вот такой скрипт что-нибудь выдает?
И есть ли там что-нибудь про MySQL? | |
|
|
|
|
|
|
|
для: Trianon
(20.03.2006 в 15:27)
| | Да, php+Apache работает, phpinfo выводит полагающуюся картинку с информацией. И другие скрипты, на которые ссылаются html тоже работают.
Про mysql в phpinfo я ничего не нашел. А в каком разделе оно должно было быть?
P.S. Из какой програмки можно вытаскивать такие красивые картинки со скриптами? Я поставил svoi.net PHP Edit 5.0 - не подскажите, есть у нее такая прелесть? И как ЭТО вставлять в сообщение (на форуме)?
Спасибо! | |
|
|
|
|
|
|
|
для: Evgen
(20.03.2006 в 16:05)
| | При перечислении модулей PHP должен был написать что-то вроде
mysql
MySQL Support enabled
Active Persistent Links 0
Active Links 0
Client API version 4.1.7
|
PS. Надо просто выделить мышкой нужный кусок текста и нажать на тэг выделения кода - справа над полем ввода сообщения.
Если PHP работает, то крайне странно, что выдается ПУСТАЯ страница.
А смотреть её сгенерированный HTML-код пробовали? (Меню/Вид/В виде HTML) | |
|
|
|
|
|
|
|
для: Trianon
(20.03.2006 в 16:27)
| | "При перечислении модулей PHP..." - это имеется ввиду phpinfo? Если да и я правильно понимаю, модуль MySQL должен был идти в ряду с libxml, odbc, ftp и т.п.? Если так, то информация о модуле MySQL в phpinfo мною не обнаружена!
html-код пустой страницы - раздел head - на месте,
раздел body - только открывающий тэг,
дальше - ничего.
P.S. Спасибо за подсказку ! | |
|
|
|
|
|
|
|
для: Evgen
(20.03.2006 в 17:15)
| | Именно так. У меня, например, он идет сразу за libxml
В первой таблице phpinfo показывает путь к актуальному файлу конфигурации php.ini
Найдите его и выясните, включена ли там поддержка модуля mysql.
Параметр extension_dir=... и параметр extension=php_mysql.dll
Файл php_mysql.dll в папке , путь к которой задан в extension_dir
Файл libmysql.dll должен лежать там же, где и php.ini
Можно еще глянуть в эту [url=?id_forum=5&id_theme=14225 ]ветвь[/url]. | |
|
|
|
|
|
|
|
для: Trianon
(20.03.2006 в 17:31)
| | Большое спасибо за оперативную и результативную помощь!
Причина была действительно в том, что в РНР не был подключен модуль mysql. Я пробовал раньше в php.ini открывать ссылку на модуль php_mysql.dll, но винда ругалась при загрузке, что не находит его.
А он оказался спрятанным в .../PHP/EXT/ !
После его копировании в WINDOWS и перезагрузке, информация о модуле MySQL появилась в phpinfo и PHP+MySQL заработал!
Еще раз спасибо! | |
|
|
|