插入语句中的SQL问号

时间:2013-10-27 04:11:12

标签: sql database prepared-statement

这似乎是一个非常基本的问题,但我不清楚。在我的代码中,我有一个查询

    "insert into CONTACTS (EMAIL, FIRSTNAME, LASTNAME, TELEPHONE) values (?, ?, ?, ?)"

什么是'?'在值中,是获取实时值吗?

2 个答案:

答案 0 :(得分:7)

这是来自某些prepared statement。在执行查询之前,这些问号将在稍后填充值。

答案 1 :(得分:2)

在编程环境中,您需要在同一个表中插入多组数据 -

如果需要在数据库表中插入多组值,则无需每次都准备语句以插入新值。您将只准备一次insert语句,并将使用不同的值集准备。这些'?'充当不同值集的占位符,稍后将在执行期间填充这些值。它会带来更好的性能。

你正在使用它与数据库提示然后它基本上用于让用户在命令提示符下输入。它会提示用户插入数据。

请通过“How can I prevent SQL injection in PHP?”了解如何使用“?”来避免sql禁令。