:使用PDO时,我已经看到很多文章在命名参数前使用冒号(),还有一些不使用冒号的文章。我会尽快不使用冒号,只是因为它的按键少了一点,而且读起来也更容易一点。
:
这似乎对我来说很好,但是我很好奇在使用冒号时是否缺少一些重要的东西?
例如,这很好用:
function insertRecord ($conn, $column1, $comumn2) { try { $insertRecord = $conn->prepare('INSERT INTO Table1 (column1, column2) VALUES(:column1, :column2)'); $insertRecord->execute(array( 'column1' => $column1, 'column2' => $column2 )); } catch(PDOException $e) { echo $e->getMessage(); } }
与大多数使用此功能的开发人员相对,这也可以:
function insertRecord ($conn, $column1, $comumn2) { try { $insertRecord = $conn->prepare('INSERT INTO Table1 (column1, column2) VALUES(:column1, :column2)'); $insertRecord->execute(array( ':column1' => $column1, ':column2' => $column2 )); } catch(PDOException $e) { echo $e->getMessage(); } }
注意execute语句参数中的冒号。
execute
我想了解冒号的用途。
SQL语句中必须使用冒号,以指示哪些标识符是占位符。
execute()或bindParam()调用中的冒号是可选的。文档中对它们进行了说明,但是实现足够聪明,可以弄清楚如果不考虑它们的意思(您还有什么意思?)。
execute()
bindParam()