【发布时间】:2012-08-22 12:46:12
【问题描述】:
就像我的标题一样,我想知道如何在不使用 MySQLi 或 PDO 的情况下创建准备好的语句。重点是学习创造的过程和它的安全性。我在这方面几乎有“零知识”。尝试用谷歌搜索该主题,但似乎我的谷歌搜索技能让我失望了。我从某些网站上盲目地了解到准备好的声明非常安全,但我看不到它安全的实际意义。你们中的一些人可以澄清为什么会这样吗?那将是一个很大的帮助。我有自己的假设,即创建准备好的语句只是创建一个接收字符串并用 str_replace 替换所有特殊字符的函数,例如:
$org_sql = 'SELECT * FROM `my_table` WHERE `table_id`=?';
$prepared_sql = replaceQueryString($org_sql, 10);
function replaceQueryString($str, $replace) {
// Do the replace where ? will be replaced by $replace here.
return $str;
}
但我想知道这是否会提高安全级别,这对我来说看起来很简单。
如果您不想浪费时间回答这个问题,只需向我指出可用资源的位置。所以总结一下。
- 如何创建 MySQL 预处理语句?
- 为什么它是安全的?
非常感谢。
【问题讨论】:
-
准备好的陈述不仅仅是逃避事情。特别是,一个真正的准备好的语句将由数据库编译,用于提供输入。
标签: php mysql pdo mysqli prepared-statement