$ stmt究竟是什么?它的目的是什么?它代表什么..
我正在关注使用预准备语句的教程,并在手册中查找stmt:http: //php.net/manual/en/class.mysqli-stmt.php
并且看到它是一个"代表一个准备好的语句"的类 - 我猜这是一个准备好的sql语句,你将一个变量插入.虽然我没有看到这个id如何将sql语句存储为字符串然后在需要时操纵字符串以添加变量?
dec*_*eze 10
" $stmt"显然(我认为)代表"陈述".作为变量名称,它是任意的,您可以将该变量命名为您想要的任何名称.$stmt只是相当惯用.
准备好的声明本身就是数据库功能.数据库本身分两步执行查询:首先是带占位符的查询结构,其次是填充占位符的数据.PHP端的语句对象表示这种分离,并为您提供表示SQL服务器端上的预准备语句的句柄.
这种分离的关键在于,由于错误地转义任意字符串值,因此不存在SQL注入问题; 如果您多次重用该预准备语句,它对性能也很有用.