Php &引用;PDO_构造:未知数据库名“;错误
专家们 这一定是我编码生涯中最令人沮丧的经历 我正试图使用Php &引用;PDO_构造:未知数据库名“;错误,php,mysql,pdo,Php,Mysql,Pdo,专家们 这一定是我编码生涯中最令人沮丧的经历 我正试图使用PDO连接到我的数据库 我使用mysqli成功地完成了这项工作,但使用PDO,我收到以下错误消息: 致命错误:未捕获的异常“PDOException”带有消息 中的'SQLSTATE[HY000][1049]未知数据库'myDBName,host=localhost' C:\xampp\htdocs\closures\forms\final.php:51堆栈跟踪:#0 C:\xampp\htdocs\closures\forms\fina
PDO
连接到我的数据库
我使用mysqli
成功地完成了这项工作,但使用PDO
,我收到以下错误消息:
致命错误:未捕获的异常“PDOException”带有消息
中的'SQLSTATE[HY000][1049]未知数据库'myDBName,host=localhost'
C:\xampp\htdocs\closures\forms\final.php:51堆栈跟踪:#0
C:\xampp\htdocs\closures\forms\final.php(51):
PDO->_构造('mysql:dbname=di…','myusername','mypassword',',
数组)#1{main}在上的C:\xampp\htdocs\closures\forms\final.php中抛出
第51行
为了安全起见,我更改了数据库名
以下是连接字符串:
$pdo = new PDO("mysql:dbname=myDBname,host=localhost","mysusername","mypass",array(PDO::ATTR_PERSISTENT => true));
这在使用msqli时非常有效:
$conn = mysqli_connect("localhost","myusername","mypass","myDB"); but I am using PDO because I am using PDO because it allows me to use array but because of this error, I am unable to test to see if my array works.
非常感谢您的帮助。1.
在dbname和主机之间需要使用code>而不是,
2.另外,数据库名称不正确(它必须是myDB
),因为您说过$conn=mysqli\u connect(“localhost”、“myusername”、“mypass”、“myDB”)
工作正常
$pdo = new PDO("mysql:dbname=myDB;host=localhost","mysusername","mypass",array(PDO::ATTR_PERSISTENT => true));
通常,DSN由PDO驱动程序名称、冒号和PDO驱动程序特定的连接语法组成
您应该使用分号,而不是逗号
是这样的:
$pdo = new PDO("mysql:dbname=myDB;host=localhost","mysusername","mypass",array(PDO::ATTR_PERSISTENT => true));
如果您也在这样做,请不要混合使用任何其他mysql api。顺便说一句,您在这里遗漏了一些内容。例如手册中的$dbh=newpdo('mysql:host=localhost;dbname=test',$user,$pass)代码>使用代码>在数据库名和主机之间myDB
!==myDBname
Life Pro提示:为了避免沮丧,请始终阅读错误消息。有人说,“未知数据库‘myDBName,host=localhost’”
非常具有启发性。这个答案不应该被否决。编辑:我也不能诚实地说另一个不是我的。@Fred ii-事实上,我的意图和注意力集中在他面临的主要问题上,那就是异常。我不认为投反对票有任何意义,我也不理解投我反对票的人的见解:“非常感谢你们的帮助。错误消失了,我现在可以连接到数据库了。作为记录,这是我第一次从网上看到的所有例子中看到分号而不是逗号,包括我在这里看到的例子。@Tairoc很高兴能帮助你。