Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите новичку! Call to undefined function mysql_connect()
 
 автор: Jurik   (18.01.2005 в 21:50)
 
 

Плиз, хелп!
Пробовал стыкануть PHP и MySQL. Простой скрипт, выводит содержиое базы данных.
Но, увы - пишет вот такие дела
Fatal error: Call to undefined function mysql_connect() in c:\Inetpub\wwwroot\MySQL\showHeroes.php on line 11

Вот сам код, может чего не то сделал? Сам ошибку идентифицировать и исправить не в силах.
Надеюсь на Вашу помощь.

<html>
<head>
  <title>Show Heroes. Work with MySQl</title>
</head>

<body>
<h1>Show Heroes</h1>
<?
// connection with MySQL Data Base
$conn=mysql_connect("localhost""root""123");  // establish the connection
                                                  // wiht Data Base Server

mysql_select_db ("game"$conn);                  // select concrete Data Base
                                                  // like function USE in MySQl

$sql "SELECT * FROM hero";                      // make a query to find all
                                                  // records in current Data
                                                  // Base from table "hero"

$result mysql_query ($sql$conn);              // make requets to Data Base

print "<table border = 1>\n";
// printing names of fields.
print "<tr>\n";
while (
$filed mysql_fetch_field ($result)){
        print 
"  <tn>$field ->name</th>\n";
        }
print 
"</tr>\n\n";

while (
$row mysql_fetch_assoc ($result)) {
        print 
"<tr>\n";
        foreach (
$row as $col=>$val){
                print 
"  <td>$val</td>\n";
                }
        }
print 
"</table>\n";
?>
</body>
</html>

   
 
 автор: cheops   (18.01.2005 в 22:00)   письмо автору
 
   для: Jurik   (18.01.2005 в 21:50)
 

Если PHP спотыкается об первую же функцию для работы с MySQL возможно отключено расширение для работы с этой базой данных. Вообще в PHP 5 по умолчанию отключены все расширения и их следует включать вручную, так для подключения MySQL, следует снять комментарий напротив соответствующей библиотеки в конфигурационном файле php.ini (убрать точку с запятой):
extension=php_mysql.dll

Подробности настройки и тестирования связки PHP+MySQL приведены в нашей статье http://www.softtime.ru/info/articlephp.php?id_article=24. Если что-то не заладится - пишите - будем разбираться...

   
 
 автор: Jurik   (18.01.2005 в 22:28)
 
   для: cheops   (18.01.2005 в 22:00)
 

И все же беда.
Прочитал статью, что Вы рекомендовали.
Раскомментировал строку
extension=php_mysql.dll
в файле php.ini
и теперь при запуске любого файла мне пишется
PHP Starup: Unable to load dynamic librarry 'C:\php5\php_mysql.dll' - Не найден указанный модуль.
Комичность ситуации к тому же заключается в том, что PHP стоит по адресу C:\PHP, но таких dll там отродясь не было.
В статье подобная ошибка описана, но вот как её обойти я не совсем понял.
Да, у меня вместо Apache стоит IIS 5.0, это ничего? С PHP проблем не было.

Заранее благодарю.
С уважением.
Юра.

   
 
 автор: cheops   (18.01.2005 в 22:39)   письмо автору
 
   для: Jurik   (18.01.2005 в 22:28)
 

У вас PHP установлен из инталлятора или из zip-архива и какая версия? Если у вас PHP 5, то библиотека php_mysql.dll должна находится в директории C:\PHP\ext, чтобы не мучаться скопируйте её в c:/Windows/system32/

PS Если PHP работает, то и MySQL должна подцепиться, только не забывайте перегружать сервер после изменений в php.ini.

   
 
 автор: Jurik   (18.01.2005 в 22:50)
 
   для: cheops   (18.01.2005 в 22:39)
 

PHP установлен из инсталлятора. Я посчитал, что так удобнее. Может, оказался не прав?
Такой папки C:\PHP\ext у меня нет, её просто не создал компьютер.
Файла php_mysql.dll у меня нет. Вообще. В C:\PHP\есть только php5ts.dll - это единственный из всех dll.
Что мне делать?

   
 
 автор: cheops   (18.01.2005 в 22:56)   письмо автору
 
   для: Jurik   (18.01.2005 в 22:50)
 

Дело в том, что в инсталляторе урезанная версия PHP, а полная (со всеми расширениями) находится в ZIP-архиве, у них даже размер раза в 4 различается, нужно либо загрузить полную версию (не обязательно переставлять - можно только заимствовать библиотеки), либо надыбать в Интернете нужные библиотеки... Кроме php_mysql.dll может так же понадобится libmysql.dll, которая находится в корне полного дистрибутива.

PS Только аккуратнее с версиями - нужна библиотека именно от той версии PHP которая у вас.

   
 
 автор: cheops   (18.01.2005 в 23:00)   письмо автору
 
   для: Jurik   (18.01.2005 в 22:50)
 

У вас какая версия PHP?

   
 
 автор: Jurik   (18.01.2005 в 23:21)
 
   для: cheops   (18.01.2005 в 23:00)
 

PHP 5.0.3.
Спасибо Вам за помощь - просто залил поверх инсталляшки архивный дистрибутив и все. В System32 скопировал тот dll и все пошло.
Беда была с урезанностью инстлляшки PHP.
Большое Вам спасибо за содействие.
С уважением и наилучшими пожеланиями,
Юрий Сазонов.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования