最长的时间,我一直在PHP中对SQL查询使用以下基本格式:
$sql = "SELECT * FROM `user-data` WHERE `id` = '".$id."' LIMIT 1;"; $fn = mysql_fetch_assoc(mysql_query($sql));
尽管这可以完美地工作,但是对于更长的代码来说,它可能会变得非常混乱,每次我这样做时,我内心深处的某些东西都会对字符串连接感到畏缩。尽管如此,它仍然有效,我几乎在没有重大问题的情况下仍可以使用它。(这是一个温和的示例,我不够密集,无法将用户数据直接传递到SQL字符串中而不先转义,等等)。
我想做的是一些面向对象的东西,但是我不确定最好的方法是什么。能够sql-> insert($ values [,$ where,$ extra]); 或类似的方法,使用PHP的自然关联数组类型以更简化的方式传递查询字符串。不太灵活?是的。更具可读性?不错,而且更难犯“无声的”语法错误。
社区对此有何看法?您看到了什么方法来解决这个问题,这对于您正在从事的项目是最有效的?
没关系,但是我个人做起来并不比SELECT,INSERT和UPDATE复杂得多,只是偶尔嵌套了子查询,但这主要是因为我的SQL风格不执行存储过程。
PDO是许多框架所建立的良好,可靠,安全的解决方案。如果您要从头开始,PDO是坚实的基础。