PDO准备语句 - 用于参数名称的冒号是什么?

我:在使用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语句参数中的冒号。


我想了解冒号的用途。


HUX布斯
浏览 539回答 3
3回答

Helenr

SQL语句中需要冒号,以指示哪些标识符是占位符。execute()或bindParam()呼叫中的冒号是可选的。文档指定了它们,但实现是否足够巧妙,可以弄清楚如果你把它们排除在外是什么意思(你还有什么意思?)。

杨__羊羊

这是一个个人偏好的事情,有些人认为它是明确的,但我没有看到任何模棱两可的东西..它是一个参数。正如有些人喜欢编号参数(使用?)而不是命名参数。
打开App,查看更多内容
随时随地看视频慕课网APP