下面的代码给了我一个致命的错误:调用未定义的函数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');
?>发布于 2013-10-13 15:09:50
我只想说,像这样的连接是不受欢迎的。请像这样连接,如果您的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;
}发布于 2013-10-13 15:39:03
您面临的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
发布于 2016-04-14 21:14:52
取消注释php.ini文件中的行extension=php_mysql.dll,然后重新启动Apache。
此外,libmysql.dll文件必须对Apache可用,即必须在Windows系统路径或Apache工作目录中可用。
请参阅手册中有关安装MySQL扩展的更多信息。
附注:我建议将MySQL扩展视为不推荐使用,并使用MySQLi甚至PDO来处理数据库(我更喜欢PDO)。
https://stackoverflow.com/questions/19342733
复制相似问题