2

所以我在连接到我使用 XAMPP 在本地主机上创建的 mySQL 数据库时遇到问题。DB 本身在 127.0.0.1 上设置良好,但我必须使用端口 8000(而不是 80)才能在 XAMPP 中启动它。

  $con = mysql_connect("localhost:8000","","");
 if (!$con) {
   die('Connection failed.' . mysql_error());
 }

以上不起作用,浏览器在几秒钟后超时,说它无法显示网页(注意它没有给出死亡消息)。我也试过 127.0.0.1:8000 但没有运气。在 phpMyAdmin 中创建用户并输入凭据也没有任何效果。

如果我取出端口并使用:

$con = mysql_connect("localhost","","");

这可以连接,但我似乎无法选择我的数据库,因为我认为它没有连接到正确的服务器!

有任何想法吗?先感谢您!

4

4 回答 4

3
  1. 不要使用 mysql_* 它已被弃用
  2. 端口 8000 用于您的服务器而不是 mysql。默认mysql端口3306

你最好使用 PDO

http://www.php.net/manual/en/pdo.construct.php

于 2012-11-24T19:44:16.120 回答
1

删除端口 8000 。这不是 mysql 端口。

于 2012-11-24T19:53:56.087 回答
1

你也可以使用mysqli

<?php $con = new mysqli("localhost", "username", "password", "dbName");
if ($con->connect_errno) {
echo "Failed to connect to MySQL: (".$con->connect_errno.")".$con->connect_error;
}
?>
于 2012-11-24T19:54:55.423 回答
1

MySQL 的端口是 3306。但您不必在 php 代码中使用它。

您无法选择数据库的原因是您从未在脚本中指定它。因此,请尝试 mysql_select_db 函数。

像这样:

mysql_connect('localhost','user', 'pass');
mysql_select_db('database_name');

如果您打算将此代码用于更大的系统,最好使用 madara-uchiha 建议的准备好的语句。这些功能很快就会在您的应用程序中打印折旧通知;)

于 2012-11-24T19:47:33.037 回答