我认为这是一个随机的问题,它更多地与风格和组织有关。我有一个 Web 应用程序,我在其中使用 PDO 与 MySQL 数据库连接,并且在某些脚本中,有很多查询一个接一个,不一定涉及相同的表。即,我将在一个语句中执行一个 SELECT 语句,然后根据某些值,我将更新另一个语句,最后从另一个语句中删除。
问题是我最近才学习 PHP 和 MySQL,因为我不确定并且想要小心并轻松发现任何问题(还有一点是因为我对统一性和编码风格等愚蠢的事情有点强迫症和肛门)我使用以下格式的每个查询
try {
$statement = "
UPDATE/SELECT ...
FROM/SET ...
WHERE ...";
$query = $dbcnx->prepare($statement);
$flag = $query->execute();
}
catch (PDOException $e) {
$errorMsg = "...";
error_log($errorMsg,3,'../../xxx.log');
$response = ...;
$dbcnx->null;
return $response;
}
$result = $query->fetch/fetchAll/fetcColumn...
所以我可以找到任何问题会发生的地方(尝试/捕获)并防止注入和无效字符(准备)(我进行了一些个人检查,但我很确定专门为之设计的功能会更好)。
当我有一个或两个查询时,它很好,但是在代码增长之后,对于小动作/物质来说它变得有点太多了(比如一个查询需要 16 行......)
所以我想要一些建议。如何使我的代码更易于管理?我的结构逻辑(我写它的方式)是否存在一些基本错误?使用 try/catch 有什么规则吗?是否更多用于开发和调试,然后您可以删除其中的一些块?
我正在考虑制作一个仅包含这段代码的函数,并将语句作为参数调用它。所以我只需在主体中“键入”查询,然后调用准备、执行并返回结果的函数。当然,我总是会使用 fetchAll 并返回一个关联数组,但我认为只要数据集很小,内存使用量就可以了(无论如何,在当今的系统中,我认为应该花很多时间才能注意到差异)。 ..
欢迎任何想法。
我意识到这实际上不是代码和设置以及软件和程序的问题,就像这里的其他问题一样,但我确实希望它仍然遵循这种精神。