我安装了WAMP,安装了Windows Server 2012 R2 Datacenter Edition,Apache 2.4.23,PHP 7.0.10(mysqlnd 5.0.12-dev - 20150407),MySQL 5.7.14。
我配置了一个连接:
<?php
$host = '192.168.123.123'; //'localhost';
$dbase = 'db_name';
$user = 'my_user';
$pwd = 'my_pwd';
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_SILENT;
$connection='mysql: host='.$host.'; dbname='.$dbase;
try {
$link = new PDO($connection, $user, $pwd, $pdo_options);
$_SESSION['DB_INFO']=array( 'db'=>$link->getAttribute(PDO::ATTR_DRIVER_NAME),
'ver'=>$link->getAttribute(PDO::ATTR_SERVER_VERSION),
'cli'=>$link->getAttribute(PDO::ATTR_CLIENT_VERSION ),
'srv'=>$link->getAttribute(PDO::ATTR_SERVER_INFO ),
);
print_r($_SESSION['DB_INFO']);
}
catch(\PDOException $err) {
echo 'Error: '.$err->getMessage();
};
其中错误服务器不存在(用于捕获错误的测试)。
当我执行代码时,连接使用 localhost 作为主机(我知道它是因为查询到 db_name 的反向数据)。 我没有成功地搜索了一些默认行为或配置。
一些想法?
代码更新:
mysql:host='.$host.';dbname='.$dbase.'
服务器192.168.123.123不存在,但我有这些回复:
数组([db] =&gt; mysql [ver] =&gt; 5.7.14 [cli] =&gt; mysqlnd 5.0.12-dev - 20150407 - $ Id:241ae00989d1995ffcbbf63d579943635faf9972 $ [srv] =&gt;正常运行时间:20111主题:1个问题:354慢查询:0打开:125刷新表:1打开表:118每秒查询平均值:0.017)
但如果我设置$ pwd ='wrong_pwd',答案是:
错误:SQLSTATE [HY000] [1045]用户'my_user'@'localhost'拒绝访问(使用密码:是)
解
正如@MichaelBerkowski所说,消除DSN中的空格
mysql: host='.$host.'; dbname='.$dbase.'
而不是
class JobPage extends React.Component {
componentWillMount() {
this.props.dispatch(fetchJob(this.props.match.params.slug))
}
getMultiLineText(text) {
text.split('\n').map((item, key) => {
return <span key={key}>{item}<br/></span>
})
}
render() {
const { job } = this.props;
return(
{this.getMultiLineText(job.desc)}
)
}
}
解决了问题,因此出现了错误。