【问题标题】:localhost, Microsoft SQL and php本地主机、Microsoft SQL 和 php
【发布时间】:2013-02-06 04:31:32
【问题描述】:

我刚开始学习 PHP 和 MySQL,但在尝试从 PHP 块连接到我的数据库时遇到了困难。我已经在我的机器上安装了 XAMPP 和 SQL Server Express 2012。我的服务器名称是 RAFAL-MAC,我选择了“Windows 身份验证”。

我有一个简单的 HTML 页面,在名为 search.php 的文件中包含 PHP 代码

PHP 代码是

<?php
    $con = mysql_connect('RAFAL-MAC','RAFAL-MAC\Rafal','');
    if (!$con)
    {
        die( 'Could not connect: ' . mysql_error() ) ;
    }
    mysql_select_db("one", $con) or die(mysql_error());
?>

当我转到 localhost:8080/search.php 时,我收到以下警告:

警告: mysql_connect(): Host 'xxx.xxx.xxx.xxx' is not allowed to connect to this MySQL server in C:\xampp\htdocs\search_submit.php on line 11 无法连接:不允许主机 'xxx.xxx.xxx.xxx' 连接到此 MySQL 服务器

我尝试在网上搜索类似的问题,但所有线程都是关于远程连接的。我只是想连接到我的本地 SQL 服务器。

有什么提示吗?对于任何缺失的信息,我深表歉意。谢谢! :)

编辑: 我将服务器名称更改为'localhost'

现在我得到了这个:

用户''@'localhost'拒绝访问数据库'one'

【问题讨论】:

  • 从技术上讲,它是一个远程服务器,而不是本地服务器(在您的机器上运行)。关于远程服务器的建议也适用于这种情况。如果您在同一台机器上进行所有这些操作,请使用localhost 作为服务器地址
  • 如果您只是在学习,您不应该使用mysql_* 已弃用的函数。也许改用mysqliPDO
  • 它们被弃用太可惜了……改变一切的痛苦
  • 等等,什么? :O 我正在使用在线教程。嗯...我应该查找 SQL 2012 的教程?
  • 谷歌 mysqli - 更新版本

标签: php sql-server-express


【解决方案1】:

由于您想连接到 SQL Server Express 2012,所有以 mysql* 开头的函数都将失败 - 因为这些函数与 MySQL 服务器 通信。

请安装微软的MS SQL Server driver pack 找到here。从这个页面:

执行以下步骤下载并安装 Microsoft 适用于 SQL Server 的 PHP 驱动程序

  1. 将 SQLSRV30.EXE 下载到临时目录
  2. 运行 SQLSRV30.EXE
  3. 出现提示时,输入 PHP 扩展目录的路径
  4. 解压文件后,阅读 SQLSRV30_Readme.htm 文件的安装部分以了解后续步骤

Microsoft's PHP driver forum的人应该很容易回答你的问题,以防你在安装驱动后仍然有问题。

另外,如果连接到本地机器,请尝试使用这些地址:

  • 本地主机
  • 127.0.0.1

这两个地址总是引用本地机器

【讨论】:

  • SteAp 是正确的,Microsoft SQL Server 和 mysql 是完全不同的数据库。此外,如果出于任何原因想要使用 mssql_* 函数而不是 PDO,则需要安装 FreeTDS 驱动程序。这是我让 PHP 与 MS SQL 对话的唯一方法。
  • 我只是将 .dll 提取到我的 C:\xampp\php\ext 文件夹吗?我不确定如何处理这些文件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-03
  • 2016-11-14
  • 1970-01-01
  • 1970-01-01
  • 2014-07-13
  • 1970-01-01
相关资源
最近更新 更多