我试图连接到一个数据库"customers.sql“使用PDO。以下是代码:
<?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();
}
?>这是我的文件夹结构:
-WebPage
-index.php
-customers.sql << this is the database >>我在运行WAMP Server。服务器名为"localhost",用户名为"root“,没有密码,即密码为"”。服务器返回:
连接失败: SQLSTATEHY000未知数据库'customers.sql‘。
谁来指出我的错误。提前谢谢。
编辑
以下是“customers.sql”中的代码:
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')
...发布于 2017-02-23 19:56:44
有些混乱。
您说您正在使用wamp,您的代码表明您正在尝试连接到mysql数据库。
.sql文件不是数据库。它只包含sql语句。它可能包含创建和填充数据库所需的所有语句。但当然,这只是猜测,在我们知道文件的内容之前。
如果您按您所说的安装了wamp,那么您就有一个正在运行的mysql服务器。您必须对服务器执行您的.sql文件来创建数据库。要做到这一点,最简单的方法是使用phpmyadmin,这也伴随着wamp。您应该能够在http://localhost/phpmyadmin上访问它。
我希望这能帮到你。当然,您必须先阅读一些关于mysql服务器的文章,然后才能彻底了解这一切。学习愉快。
发布于 2017-02-23 19:48:32
如果您的数据库名为"customers",请删除.sql。
否则,您正在尝试使用名为customers.sql的文件吗?那是做不到的。该语句用于设置到数据库的连接。
发布于 2017-02-23 20:02:52
这真的是一个文件系统文件吗?如果是,您确定格式不是sqlite而不是mysql吗?
使用
$conn = new PDO('sqlite:customers.sqlite');https://stackoverflow.com/questions/42424776
复制相似问题