【发布时间】:2016-06-28 12:16:57
【问题描述】:
我已查看但无法在任何地方看到此查询。那可能是因为这是一个愚蠢的问题——我不知道我不知道什么!
我已经完成了一个封闭用户测试版,其中有许多恐怖之处和比瑞士奶酪更多的安全漏洞。这只是一个概念验证的事情,看看是否有人感兴趣。它最终将由知道自己在做什么的人正确编码。 (目前只有我看到。)
我遇到了一个新问题。一切都很顺利,但有时如果我遇到 PHP 错误,则会将错误的数据写入数据库,这会导致稍后在读取数据时出现问题。这是完全有效的数据,因此数据库不会引发错误,但我想崩溃并修复它,而在 PHP 修复之前没有任何数据留在数据库中。
我还没有使用过beginTransactioncommitrollback(我对 PDO 有点挣扎),但它似乎是解决这个问题的正确领域。
所以....
有没有办法将beginTransaction 放在一个相当繁忙的“处理”文件的开头,然后在最后做一个commit,让它在 PHP 失败时失败?
如果有解决方案,我会离开并重做文件,否则我可以使用它,对于这个非常不整洁的测试版,我将忽略 beginTransaction 等
感谢任何指针无法在任何地方找到此信息。我知道是否有办法做到这一点,会有很多答案,但如果是这样,我一定是使用了错误的搜索字符串。
编辑: PS 我应该说 PHP 警告和错误。我的大多数问题都与警告有关,所以当它应该是 150 时,我最终将 0 存储在数据库中,因为变量由于拼写错误而被错误命名 - 诸如此类。
【问题讨论】:
标签: php mysql pdo transactions