为什么PDO对象没有为此向我吐出错误?
因为MySQL执行您的查询没有任何错误。仅因为您编写了错误的查询,这并不意味着该查询是MySQL不接受的错误。
每当您以编程方式生成SQL查询时,请(通过调试或更好的单元测试)验证是否已针对您要执行的操作正确创建了查询。
如果要在每次发生错误时获取异常,请启用该功能:
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

为什么PDO对象没有为此向我吐出错误?
因为MySQL执行您的查询没有任何错误。仅因为您编写了错误的查询,这并不意味着该查询是MySQL不接受的错误。
每当您以编程方式生成SQL查询时,请(通过调试或更好的单元测试)验证是否已针对您要执行的操作正确创建了查询。
如果要在每次发生错误时获取异常,请启用该功能:
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);