嗯,我不知道我做错了什么....
这段代码:
try {
$this->CONN = new \PDO('mysql:dbname='.PASTEAES_DBNAME.';host='.PASTEAES_SERVER, PASTEAES_USERNAME, PASTEAES_PASSWORD);
$this->CONN->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
$this->raiseError('Fatal MySQL error', $e->getMessage());
}
Run Code Online (Sandbox Code Playgroud)
向我报告:
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000] [1049] Unknown database 'pasteaes'' in /var/www/pasteaes/common/class.pasteaes.php on line 25
但是,正如你所看到的那样,它显然是一个尝试和阻止.
这段特殊代码所在的类是命名空间,这就是我在上面共享的代码的第二行使用"\ PDO"而不是"PDO"的原因.
哦,是的,我知道数据库不存在,但我仍然不希望将来发生这种情况(不是这样).我想正确处理错误:(
好的,所以我有一个非常大的Java项目,我已经工作多年了(游戏,如果你必须知道的话).
不幸的是,一条神秘的信息已经开始被打印出来.无论我的搜索时间长短,我都无法确定消息的位置.
我知道你可以覆盖println方法,我很好奇是否有可能在打印的消息上附加某种调试信息?就像从或许它打印的行或文件?我尝试在谷歌搜索这个,但它只是太详细的问题,我找不到答案.
更糟糕的是,这个消息非常含糊不清.它只是"-1".
至少我现在知道使用适当的记录器而不是简单的println().
可能重复:
PHP money_format
为什么这样:
setlocale(LC_MONETARY, 'en_US');
echo money_format('%i', 1234.56);
Run Code Online (Sandbox Code Playgroud)
输出我给它的值(1234.56)?我正在使用基本LAMP安装的Linux.
预期产量为"1,234.56"
编辑:
locale -a
返回以下列表:
C
C.UTF-8
en_AG
en_AG.utf8
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IN
en_IN.utf8
en_NG
en_NG.utf8
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZM
en_ZM.utf8
en_ZW.utf8
POSIX
zh_CN.utf8
zh_SG.utf8
Run Code Online (Sandbox Code Playgroud)
那很烦人.en_US.utf8工作正常!