我想在表格列中保存字符串“thats'one”,但我不想使用mysqli_real_escape_string
。任何人都可以指导我如何做到这一点吗?
答案 0 :(得分:5)
由于我在这里看到如此多的低质量评论,这是一个粗略的未经测试的答案。
$query = "INSERT INTO table (Column) VALUES (?)";
$stmt = $mysqli->prepare($query);
$stmt->bind_param("s", $val1);
$val1 = "thats'one";
$stmt->execute();
这假设$mysqli
是您的连接对象。
有关该主题的其他链接:
http://php.net/manual/en/mysqli-stmt.execute.php
http://php.net/manual/en/mysqli.quickstart.prepared-statements.php
https://www.owasp.org/index.php/SQL_Injection_Prevention_Cheat_Sheet#Defense_Option_1:_Prepared_Statements_.28Parameterized_Queries.29
http://php.net/manual/en/security.database.sql-injection.php
How can I prevent SQL injection in PHP?