php连接Mysql不成功,可以使用Mysqli和PDO连接成功。
环境是win7下面自己手动搭建的apache2.2+php5.3+mysql5,各项环境搭建均成功,phpinfo上面看到的Mysql和Mysqli都是对的,但是使用php连接Mysql不成功,但是可以成功使用Mysqli和PDO,而且连接错误的是很不显示错误信息,直接跳转到不能访问的页面。请求帮助!!!!!!!!
------解决方案--------------------
function connect($servername, $username, $password, $dbname){ echo "进入链接"; $con = mysql_connect($servername, $username, $password); $con = mysql_select_db($dbname, $con); return $con;}<br><font color="#e78608">------解决方案--------------------</font><br>mysql_connect<br><br>(PHP 4, PHP 5)<br><br>mysql_connect — 打开一个到 MySQL 服务器的连接<br><br>说明<br><br>resource mysql_connect ([ string $server [, string $username [, string $password [, bool $new_link [, int $client_flags ]]]]] )<br>打开或重复使用一个到 MySQL 服务器的连接。<br><br>参数<br><br>server<br>MySQL 服务器。可以包括端口号,例如 "hostname:port",或者到本地套接字的路径,例如对于 localhost 的 ":/path/to/socket"。<br><br>如果 PHP 指令 mysql.default_host 未定义(默认情况),则默认值是 'localhost:3306'。<br><br>username<br>用户名。默认值是服务器进程所有者的用户名。<br><br>password<br>密码。默认值是空密码。<br><br>new_link<br>如果用同样的参数第二次调用 mysql_connect(),将不会建立新连接,而将返回已经打开的连接标识。参数 new_link 改变此行为并使 mysql_connect() 总是打开新的连接,甚至当 mysql_connect() 曾在前面被用同样的参数调用过。<br><br>client_flags<br>client_flags 参数可以是以下常量的组合:MYSQL_CLIENT_SSL,MYSQL_CLIENT_COMPRESS,MYSQL_CLIENT_IGNORE_SPACE 或 MYSQL_CLIENT_INTERACTIVE。进一步信息见MySQL 客户端常量。<br><br>返回值<br><br>如果成功则返回一个 MySQL 连接标识,失败则返回 FALSE。<br><br>更新日志<br><br>版本 说明<br>4.3.0 添加 client_flags 参数。<br>4.2.0 添加 new_link 参数。<br>3.0.10 对 server 添加 ":/path/to/socket" 支持。<br>3.0.0 对 server 添加 ":port" 支持。<br>范例<br><br>Example #1 mysql_connect() 例子<br><?php <br />$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');<br>if (!$link) {<br> die('Could not connect: ' . mysql_error());<br>}<br>echo 'Connected successfully';<br>mysql_close($link);<br>?><br>Example #2 mysql_connect() 例子:使用 hostname:port 语法<br><?php <br />// we connect to example.com and port 3307<br>$link = mysql_connect('example.com:3307', 'mysql_user', 'mysql_password');<br>if (!$link) {<br> die('Could not connect: ' . mysql_error());<br>}<br>echo 'Connected successfully';<br>mysql_close($link);<br><br>// we connect to localhost at port 3307<br>$link = mysql_connect('127.0.0.1:3307', 'mysql_user', 'mysql_password');<br>if (!$link) {<br> die('Could not connect: ' . mysql_error());<br>}<br>echo 'Connected successfully';<br>mysql_close($link);<br>?><br>Example #3 mysql_connect() 例子:使用 ":/path/to/socket" 语法<br><?php <br />// we connect to localhost and socket e.g. /tmp/mysql.sock<br><br>//variant 1: ommit localhost<br>$link = mysql_connect('/tmp/mysql', 'mysql_user', 'mysql_password');<br>if (!$link) {<br> die('Could not connect: ' . mysql_error());<br>}<br>echo 'Connected successfully';<br>mysql_close($link);<br><br><br>// variant 2: with localhost<br>$link = mysql_connect('localhost:/tmp/mysql.sock', 'mysql_user', 'mysql_password');<br>if (!$link) {<br> die('Could not connect: ' . mysql_error());<br>}<br>echo 'Connected successfully';<br>mysql_close($link);<br>?><br>注释<br><br>Note:<br><br>只要将 server 指定为 "localhost" 或 "localhost:port",MySQL 客户端库会越过此值并尝试连接到本地套接字(Windows 中的名字管道)。如果想用 TCP/IP,应该用 "127.0.0.1" 代替 "localhost"。如果 MySQL 客户端库试图连接到一个错误的本地套接字,则应该在 PHP 配置中设定 的正确路径并把 server 留空。<br><br>Note:<br><br>脚本一结束,到服务器的连接就被关闭,除非之前已经明确调用 mysql_close() 关闭了。<br><br>Note:<br><br>可以在函数名前加上一个 @ 来抑制出错时的错误信息。<br><br>参见<br><br>mysql_pconnect() - 打开一个到 MySQL 服务器的持久连接<br>mysql_close() - 关闭 MySQL 连接<br><font color="#e78608">------解决方案--------------------</font><br>你的连接服务器名称用的是localhost或者是127.0.0.1吗,换成你的计算机名称试一下,以前碰到过这样的问题<br><font color="#e78608">------解决方案--------------------<div class="clear"> </div></font>