For Programmers: Free Programming Magazines  


Home > Archive > PHP Language > August 2004 > Fatal error: Call to undefined function









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author Fatal error: Call to undefined function
gc

2004-08-29, 3:55 am

I'm a PHP and MySQL newbie. I have a feeling a lot of you may have seen this
before. I'm teaching myself PHP/MySQL and trying to setup a guestbook. I'm
running latest versions of Apache, PHP and MySql on WIN 2000. PHP is
installed from the zip file. When serving php docs (code snippets below) I
get the messages:

"Fatal error: Call to undefined function mysql_connect() "

"Fatal error: Call to undefined function mysql_pconnect() "

I've been reading and searching and trying all sorts of things to fix this
and can't find the solution. I've removed the comment from the line
"extension=php_mysql.dll" in php.ini. (Below is the MySQL section of
php.ini. It's pretty standard, I'm using defaults.) I edited my Apache
config file with the needed lines:

### Section 4: PHP 5 Module

#

ScriptAlias /cgi-bin/ "C:/Program Files/Apache

Group/Apache2/cgi-bin/"

LoadModule php5_module php/php5apache2.dll

AddType application/x-httpd-php .php

AddType application/x-httpd-php-source .phps

PHPIniDir "C:/Program Files/Apache Group/Apache2/PHP"

When I run phpinfo, MySQL is not listed. Do I need to enable it in the
configure command? How do I edit the configure command. Per phpinfo, It now

reads:

Configure Command cscript /nologo configure.js "--with-gd=shared"
"--enable-snapshot-build"

I read these comments:

Ok, your php.ini file is set to 'on' for mysql.allow_persistent, but is
mysql really enabled? Does your configure command look something like this?

'./configure'
'--with-mysql=/usr/local/mysql'............................................

If you don't have --with-mysql it means that you cannot use mysql
functions, so compile PHP again with this option.



How do I edit that pesky configure command. I searched, but couldn't find an
answer. So, where am I going wrong? Thanks for reading and big thanks for
any help.

gene

sunishun@verizon.net



php.ini snippet (comments removed for easier reading:

[MySQL]

mysql.allow_persistent = On

mysql.max_persistent = -1

mysql.max_links = -1

mysql.default_port =

mysql.default_socket =

mysql.default_host =

mysql.default_user =

mysql.default_password =

mysql.connect_timeout = 60

mysql.trace_mode = Off



guest.php code snippet:

//connect

// change localhost to your db host name

mysql_pconnect( "http://aulon.dyndns.org/", "$username", "$password")

or die( "Unable to connect to SQL server");

mysql_select_db( "$db_name") or die( "Unable to select database");

guestbook.php code snippet:

// Connect to DB

$li = mysql_connect($dbHost, $dbUser, $dbPass) or die("Could not connect");

mysql_select_db($dbDatabase, $li) or die ("could not select DB");






Janwillem Borleffs

2004-08-29, 8:55 am

gc wrote:
> How do I edit that pesky configure command. I searched, but couldn't
> find an answer. So, where am I going wrong? Thanks for reading and
> big thanks for any help.
>


You don't under Windows. During restart of apache I imagin that you get an
error message related to the php_mysql.dll.

When this is the case, be sure to copy the libmysql.dll (also in de zip
distribution) to the %windir%\system32 directory and to restart apache after
you have copied the file.


JW



gc

2004-08-29, 8:55 pm

Someone suggested I revert to PHP4. I did and it works finally! Here's the
message.

________________________________________
____________-

Latest MySQL and PHP5 don't mix by default on Windows. You need another
Mysqllib. There are some functions that no longer exist in PHP I believe. I
found it a nightmare to get it to work, but others can probably point out
how exactly to do this. I gave up after hours of toying, went back to PHP
4.3.8 so I can't exactly tell you how to go about it.

Good luck Pjotr

________________________________________
____________-

Thanks for helping.

gene


Sebastian Lauwers

2004-08-30, 3:56 am

gc wrote:

> Someone suggested I revert to PHP4. I did and it works finally! Here's the
> message.


Well in fact you only needed to put the libmysql.dll (that is given in
the PHP5 zip file) in your environment PATH. (e.g.: put it in your
windows dir, although this is not recommended.) and uncomment the
correct line in your php.ini. But i suppose that if you switched back to
good old 4.3.x you didn't really need 5.x

Best regards,
Sebastian



--
The most likely way for the world to be destroyed,
most experts agree, is by accident.
That's where we come in; we're computer professionals.
We cause accidents.
--Nathaniel Borenstein
Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com