首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在PHP中连接到SQL数据库时引发的错误

在PHP中连接到SQL数据库时引发的错误
EN

Stack Overflow用户
提问于 2017-02-23 19:43:20
回答 4查看 98关注 0票数 0

我试图连接到一个数据库"customers.sql“使用PDO。以下是代码:

代码语言:javascript
复制
<?php
  $servername = "localhost";
  $username = "root";
  $password = "";

  try {
    $conn = new PDO("mysql:host=$servername;dbname=customers.sql", $username, $password);
    // set the PDO error mode to exception
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "Connected successfully"; 
  }

  catch(PDOException $e) {
    echo "Connection failed: " . $e->getMessage();
  }
?>

这是我的文件夹结构:

代码语言:javascript
复制
-WebPage
  -index.php
  -customers.sql        << this is the database >>

我在运行WAMP Server。服务器名为"localhost",用户名为"root“,没有密码,即密码为"”。服务器返回:

连接失败: SQLSTATEHY000未知数据库'customers.sql‘。

谁来指出我的错误。提前谢谢。

编辑

以下是“customers.sql”中的代码:

代码语言:javascript
复制
SET IDENTITY_INSERT Customer ON
INSERT INTO [Customer] ([Id],[FirstName],[LastName],[City],[Country],[Phone])VALUES(1,'Maria','Anders','Berlin','Germany','030-0074321')
INSERT INTO [Customer] ([Id],[FirstName],[LastName],[City],[Country],[Phone])VALUES(2,'Ana','Trujillo','México D.F.','Mexico','(5) 555-4729')
INSERT INTO [Customer] ([Id],[FirstName],[LastName],[City],[Country],[Phone])VALUES(3,'Antonio','Moreno','México D.F.','Mexico','(5) 555-3932')
INSERT INTO [Customer] ([Id],[FirstName],[LastName],[City],[Country],[Phone])VALUES(4,'Thomas','Hardy','London','UK','(171) 555-7788')
INSERT INTO [Customer] ([Id],[FirstName],[LastName],[City],[Country],[Phone])VALUES(5,'Christina','Berglund','Luleå','Sweden','0921-12 34 65')
INSERT INTO [Customer] ([Id],[FirstName],[LastName],[City],[Country],[Phone])VALUES(6,'Hanna','Moos','Mannheim','Germany','0621-08460')
INSERT INTO [Customer] ([Id],[FirstName],[LastName],[City],[Country],[Phone])VALUES(7,'Frédérique','Citeaux','Strasbourg','France','88.60.15.31')
INSERT INTO [Customer] ([Id],[FirstName],[LastName],[City],[Country],[Phone])VALUES(8,'Martín','Sommer','Madrid','Spain','(91) 555 22 82')
INSERT INTO [Customer] ([Id],[FirstName],[LastName],[City],[Country],[Phone])VALUES(9,'Laurence','Lebihan','Marseille','France','91.24.45.40')
INSERT INTO [Customer] ([Id],[FirstName],[LastName],[City],[Country],[Phone])VALUES(10,'Elizabeth','Lincoln','Tsawassen','Canada','(604) 555-4729')
INSERT INTO [Customer] ([Id],[FirstName],[LastName],[City],[Country],[Phone])VALUES(11,'Victoria','Ashworth','London','UK','(171) 555-1212')
INSERT INTO [Customer] ([Id],[FirstName],[LastName],[City],[Country],[Phone])VALUES(12,'Patricio','Simpson','Buenos Aires','Argentina','(1) 135-5555')
...
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-02-23 19:56:44

有些混乱。

您说您正在使用wamp,您的代码表明您正在尝试连接到mysql数据库。

.sql文件不是数据库。它只包含sql语句。它可能包含创建和填充数据库所需的所有语句。但当然,这只是猜测,在我们知道文件的内容之前。

如果您按您所说的安装了wamp,那么您就有一个正在运行的mysql服务器。您必须对服务器执行您的.sql文件来创建数据库。要做到这一点,最简单的方法是使用phpmyadmin,这也伴随着wamp。您应该能够在http://localhost/phpmyadmin上访问它。

我希望这能帮到你。当然,您必须先阅读一些关于mysql服务器的文章,然后才能彻底了解这一切。学习愉快。

票数 2
EN

Stack Overflow用户

发布于 2017-02-23 19:48:32

如果您的数据库名为"customers",请删除.sql。

否则,您正在尝试使用名为customers.sql的文件吗?那是做不到的。该语句用于设置到数据库的连接。

票数 1
EN

Stack Overflow用户

发布于 2017-02-23 20:02:52

这真的是一个文件系统文件吗?如果是,您确定格式不是sqlite而不是mysql吗?

使用

代码语言:javascript
复制
$conn = new PDO('sqlite:customers.sqlite');
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42424776

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档