连接到mysql的php代码中的致命错误

时间:2013-10-13 07:05:23

标签: php

以下代码给出了致命错误:调用未定义函数mysql_connect。 我的php版本是5.4.20。 php.ini文件扩展到php_mysql.dll,并且php_mysql.dll文件实际存在。 我需要做什么?

<?php
    $connection=mysql_connect('localhost','php','foo')or die('no connection made');
?>

3 个答案:

答案 0 :(得分:0)

我只想说像那样的连接是不推荐的。请像这样连接,如果你的mysql有效,你应该没有错误:

function db()
{
   try
   {
      $db = new PDO('mysql:host=localhost; dbname=test; charset=utf8', 'username', 'password', array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'"));
   }

   catch (Exception $e)
   {
       die('Error : ' . $e->getMessage());
   }
   return $db;
}

答案 1 :(得分:0)

您要面对Fatel错误: -

请从phpinfo()验证mysql是否正常运行。如果您在Php.ini中进行了任何更改,那么您应该重新启动apache服务器。

建议: -

请避免使用mysql_*个功能。您可以使用mysqli

mysql_connect is deprecated and it will be completely removed from PHP 5.5

如何在Mysqli中编写数据库连接: -

<?php
$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'my_db');

/*
 * This is the "official" OO way to do it,
 * BUT $connect_error was broken until PHP 5.2.9 and 5.3.0.
 */
if ($mysqli->connect_error) {
    die('Connect Error (' . $mysqli->connect_errno . ') '
        . $mysqli->connect_error);
}

/*
 * Use this instead of $connect_error if you need to ensure
 * compatibility with PHP versions prior to 5.2.9 and 5.3.0.
 */
if (mysqli_connect_error()) {
    die('Connect Error (' . mysqli_connect_errno() . ') '
        . mysqli_connect_error());
}

echo 'Success... ' . $mysqli->host_info . "\n";

$mysqli->close();
?>

您还可以参考以下链接: -

http://www.pontikis.net/blog/how-to-use-php-improved-mysqli-extension-and-why-you-should   http://www.a2hosting.com/kb/developer-corner/mysql/connect-to-mysql-using-php

答案 2 :(得分:0)

取消注释 php.ini 文件中的行extension=php_mysql.dll,然后重新启动Apache。

此外, libmysql.dll 文件必须可供Apache使用,即它必须在Windows系统PATH或Apache工作目录中可用。

详细了解如何在手册中安装MySQL扩展程序。

P.S。我建议将MySQL扩展视为已弃用,并使用MySQLi甚至PDO来处理数据库(我更喜欢PDO)。