【发布时间】:2018-11-18 06:53:13
【问题描述】:
我在插入值 mysql 时出错。 请看我的PHP代码
<?php
$ali = $_POST['ali'];
$con = @mysqli_connect('localhost', 'root', '', 'mohammad');
if (!$con) {
echo "Error: " . mysqli_connect_error();
exit();
}
$insertinto_ic_add = "INSERT INTO sq (text) VALUES ('" . $ali . "')";
mysqli_query($con, $insertinto_ic_add) or die("database error:" . mysqli_error($con));
?>
<form action="" method="post">
<input name="ali">
</form>
我输入值“n't”,出现错误:
数据库错误:您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以在第 2 行的“t”)附近使用正确的语法
【问题讨论】:
-
您的代码对SQL injection 相关的攻击是开放的。即使
real_escape_string也无法完全保护它。请学会使用Prepared Statements -
yes ' 此代码为示例
-
朋友们,我的mysql有问题没有sql注入,请看我的例子