Page 1 of 1
mysql php problem
Posted: Mon Dec 04, 2006 2:50 pm
by sarris
Hi there. I just setup apache 2.0.59 and php in order to start writing php scripts.
As always tried first the echo "hallo" php and works ok.
Now i am trying to connect php and mysql. So far i have done what i think is necessary. That is:
1) set the path variable in order to show at the php intallation folder where i have all the dlls (libmysql.dd and php_mysql and php_mysql1.dd) there.
at the php.ini file
2) extension_dir = "C:\program files\php"
3) extension = php_mbstring.dll
4) extension = php_mysql.dll
5) extension = php_mysqli.dll
MySqp works perfectly as it is. I have my databases up and running and making querries and all.
I am trying to connect to mysql using
mysql_connect ("localhost","user","pass");
and nothing seems to happen. Moreover i have an echo "Hi again"; right after the mysql_connect() call and it never appears. So i guess the mysql connect() is never executed. Quite weird why i dont get the next line to be executed though.
Any ideas plz??
Posted: Mon Dec 04, 2006 4:57 pm
by feyd
Run the following in a new file and tell us the results please.
Code: Select all
<?php
$neg = array('off', 0, false, '', null);
$flags = array(
'Register Globals' => 'register_globals',
'Short Tags' => 'short_open_tag',
'Display Errors' => 'display_errors',
'Magic Quotes GPC' => 'magic_quotes_gpc',
'Magic Quotes Runtime' => 'magic_quotes_runtime',
'Magic Quotes Sybase' => 'magic_quotes_sybase',
);
$ve = phpversion();
$os = PHP_OS;
$er = intval(error_reporting());
foreach ($flags as $n => $v)
{
$flags[$n] = (in_array(strtolower(ini_get($v)), $neg) ? 'Off' : 'On');
}
$cli = (php_sapi_name() == 'cli');
$eol = "\n";
$gle = get_loaded_extensions();
$rows = array();
$le = '';
$wide = 4;
$j = count($gle);
$pad = $wide - $j % $wide;
$len = max(array_map('strlen', $gle));
$func = create_function('$a', 'return str_pad($a, ' . intval($len) . ');');
$gle = array_map($func, $gle);
for($i = 0; $i < $j; $i += $wide)
{
$le .= ' ' . implode(' ', array_slice($gle, $i, $wide)) . $eol;
}
$ec = array(
'E_STRICT' => 2048, 'E_ALL' => 2047, 'E_USER_NOTICE' => 1024,
'E_USER_WARNING' => 512, 'E_USER_ERROR' => 256, 'E_COMPILE_WARNING' => 128,
'E_COMPILE_ERROR' => 64, 'E_CORE_WARNING' => 32, 'E_CORE_ERROR' => 16,
'E_NOTICE' => 8, 'E_PARSE' => 4, 'E_WARNING' => 2, 'E_ERROR' => 1,
);
$e = array();
$t = $er;
foreach ($ec as $n => $v)
{
if (($t & $v) == $v)
{
$e[] = $n;
$t ^= $v;
}
}
if (ceil(count($ec) / 2) + 1 < count($e))
{
$e2 = array();
foreach ($ec as $n => $v)
{
if (!in_array($n, $e) and $n != 'E_ALL')
{
$e2[] = $n;
}
}
$er = $er . ' ((E_ALL | E_STRICT) ^ ' . implode(' ^ ', $e2) . '))';
}
else
{
$er = $er . ' (' . implode(' | ', $e) . ')';
}
if (!$cli)
{
echo '<html><head><title>quick info</title></head><body><pre>', $eol;
}
echo 'PHP Version: ', $ve, $eol;
echo 'PHP OS: ', $os, $eol;
echo 'Error Reporting: ', $er, $eol;
foreach ($flags as $n => $v)
{
echo $n, ': ', $v, $eol;
}
echo 'Loaded Extensions:', $eol, $le, $eol;
if (!$cli)
{
echo '</pre></body></html>', $eol;
}
?>
Posted: Mon Dec 04, 2006 6:27 pm
by sarris
These are the results of what you sent me...Thanks for the fast reply.
Code: Select all
PHP Version: 5.2.0
PHP OS: WINNT
Error Reporting: 6143 (E_ALL)
Register Globals: On
Short Tags: Off
Display Errors: Off
Magic Quotes GPC: Off
Magic Quotes Runtime: Off
Magic Quotes Sybase: Off
Loaded Extensions:
bcmath calendar com_dotnet ctype
session filter ftp hash
iconv json odbc pcre
Reflection date libxml standard
tokenizer zlib SimpleXML dom
SPL wddx xml xmlreader
xmlwriter apache2handler
Posted: Mon Dec 04, 2006 7:16 pm
by feyd
The output would suggest you don't have those modules loaded.
Are you sure you're editing the correct php.ini?
Take a look at the very beginning of the output from phpinfo() to verify which php.ini php thinks it is loaded. If the file doesn't exist, it's using defaults.
Posted: Tue Dec 05, 2006 12:07 am
by dibyendrah
If you have installed PHP using PHP installer, the default directory for php.ini is C:\windows or C:\winnt. But if you have just used the php bundle which you have extracted into C:\program files\php, then you have to rename php.ini-dist to php.ini . If php_mysql is not already loaded, just uncomment the following line from
into
For the new version of php, ithese modules are already loaded. So, it's not necessary to edit the php.ini for that.
Posted: Tue Dec 05, 2006 4:45 am
by sarris
php.ini path is C:\program files\php, its correct, the file is there and its the .ini that php is using according to phpinfo().
I have set that path at both the user and system enviromental variable PATH.
What else could it be? The dll's are in that path and i have set the path for extensions as C:\program files\php
Have uncommented all necessary extensions as well.
Really cant tell what might be wrong. Could it be a setting of mysql?
Posted: Tue Dec 05, 2006 9:08 am
by feyd
It may be silly and easy to miss, but did you restart Apache?
Posted: Wed Dec 06, 2006 3:43 am
by dibyendrah
Your extension directory is set to
Code: Select all
extension_dir = "C:\program files\php"
Isn't that it should be set to
Code: Select all
extension_dir = "C:\program files\php\extensions"
?
If that didn't solve your problem. Just download the new installer from this URL
http://www.php.net/get/php-5.2.0-win32- ... m/a/mirror
and install it. The new version don't need to be configured to load the mysql extension as it will be loaded automatically.
Othe option is to use XAMPP which is really a great package having all the necessary things.
http://apachefriends.org
Posted: Wed Dec 06, 2006 4:14 am
by sarris
hehe...well i though it restarted every time you restart your pc but it seems its not like that. I restarted it and works ok..
Thank you very much!!!