0

正如我被告知的那样,我已经从 mySQL 更改为 PDO 调用,但我似乎无法通过访问实际数据库,如下所示

$db = new PDO("mysql:host=localhost;dbname=info;charset=UTF-8", 'admin', 'xxxxxx');

当它返回时

Parse error: syntax error, unexpected T_VARIABLE in db.php on line 8

我已经通过论坛进行了检查,从我读到的内容来看,服务器确实支持 PDO ,而且phpinfo()出于安全原因被禁用,所以我无法转向,我实际上是在字符串中出错还是意味着我的服务器没有还支持 PDO 吗?

4

3 回答 3

0

最后两个参数应该用单引号封装起来,或者本身就是变量。即(新 PDO(“stuffhere”,$user,$pass)

编辑 试试这个:如何检查我的 Apache 安装中是否启用了 PDO 支持?

if (!defined('PDO::ATTR_DRIVER_NAME')) {
    echo 'PDO unavailable';
}
elseif (defined('PDO::ATTR_DRIVER_NAME')) {
    echo 'PDO available';
}
于 2012-10-13T10:11:19.457 回答
0

为了更好地了解行的哪一部分有错误,您可以将其拆分为多行。例如

 8. $db = new PDO("mysql:host=localhost;dbname=info;charset=UTF-8", 'admin', 'xxxxxx');

可以改为:

 8. $db = new PDO(
 9. "mysql:host=localhost;dbname=info;charset=UTF-8",
10. 'admin',
11. 'xxxxxx');

现在报告错误的行可能是 8、9、10 或 11,你会更准确地知道哪里出了问题。

于 2012-10-13T10:17:04.383 回答
0

您可能想尝试从头开始重写有问题的行并完全删除旧行。我遇到了几个问题,我面临着unexpected T_VARIABLE- 没有明显原因的错误。我认为这是因为我设法在笔记本电脑的键盘上使用了某种组合键,这导致一些不可见的字符出现在我的代码中。

重写该行后,问题通常就消失了。

于 2012-10-13T10:30:48.283 回答