Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php PDO连接到本地主机(未知mysql服务器主机)_Php_Mysql_Pdo - Fatal编程技术网

Php PDO连接到本地主机(未知mysql服务器主机)

Php PDO连接到本地主机(未知mysql服务器主机),php,mysql,pdo,Php,Mysql,Pdo,我可以使用具有相同凭据的MySQL.*函数连接到MySQL 是否有任何方法可以使用PDO连接到本地MySQL数据库,并且用户只有使用权限权限?我没有机会将权限设置为ALL,我已将其作为SO中类似问题的解决方案阅读 SQLSTATE[HY000][2005]未知MySQL服务器主机'localhost,dbname=crmdb'(74) 注意分号不是逗号,我建议你不要使用PDO,你使用php中的MySQLi接口它有客观支持或MySQLi.*支持,我认为它没有你看到的bug,怎么样?我不会修改成千上

我可以使用具有相同凭据的
MySQL.*
函数连接到MySQL

是否有任何方法可以使用PDO连接到本地MySQL数据库,并且用户只有
使用权限
权限?我没有机会将权限设置为
ALL
,我已将其作为SO中类似问题的解决方案阅读


SQLSTATE[HY000][2005]未知MySQL服务器主机'localhost,dbname=crmdb'(74)


注意分号
不是逗号

我建议你不要使用PDO,你使用php中的MySQLi接口它有客观支持或
MySQLi.*
支持,我认为它没有你看到的bug,怎么样?我不会修改成千上万行。有了PDO,我将结果作为自定义类的对象获取,你在哪里可以用MySQLi实现这一点???成千上万行哇,你没有构建一个类来管理它吗?如果是这样的话,我想说我们需要更多的信息,你能在它发送到服务器之前给我们看一下你的一个调用和它构建的SQL吗,但是我认为你不能在PDO上绕过这个错误php@MartinBarkerPDO比mysqli好得多,原因很简单,因为它有命名的占位符。没有理由在这里切换,这不是特定于PDO的问题。
SQLSTATE[HY000][2005]未知MySQL服务器主机'localhost,dbname=crmdb'(74)
(由PDOException::getMessage()生成)哇!我说不出话来。问题是,我已经在一个本地Web服务器上测试了这个脚本,它接受了
$dbh=newPDO(“mysql:host=127.0.0.1:3306,dbname=test”,'root',”。可能是因为没有设置密码。这就是我的意思,我们需要你的代码,只是我能够指出的错误信息,但是我坚持我只在使用多个数据库类型时使用PDO,对于一个简单的类型来说,它非常大和复杂,是的,命名的参数是一件好事,但它确实很容易做到,而且您可以得到一个更好的实现,您可以对同一名称空间进行多次使用,
function prepareSQL($sql,$data){foreach($data as$key=>$val){$sql=stru-replace(“:”$key,$val,1)}return$sql;}
噢,这支持对象或值数组:)我会担心你的测试服务器有问题。PDO从中构建了一种ODBC连接,因此它不应该起作用。例如“mysql:host=127.0.0.1:3306;dbname=test;user=test”或者如果有密码“mysql:host=127.0.0.1:3306;dbname=test;user=test;password=pass”你介意把这个标记为答案吗?因为它已经被问了好几个月了,对不起,我忘了。祝你今天愉快:)
 // PDO
$pdo = new PDO("mysql:host=localhost;dbname=database", 'username', 'password');