使用'符号

时间:2016-06-15 14:03:27

标签: php mysqli insert

我正在尝试使用mysqli通过PHP将一些文本插入到我的数据库中。

我的插入声明如下:

$userID="1";
$description="Hi! It's been a while..."; //For example...

$sql = "INSERT INTO projecten (user_ref, description)
VALUES ('$userID','$description')";

if ($conn->query($sql) === TRUE) {
     //redirect to right page
} else {
     //error message...
}

问题: 我总是收到一条错误消息,说我的sql语法中有一些不正确的“'ts been”现在我尝试删除'符号然后代码工作,但我需要能够让我的用户输入他们想要的内容输入...

有人知道我能做些什么吗?

提前致谢!

1 个答案:

答案 0 :(得分:1)

使用 bind_param 它会处理所有这些字符串并阻止你形成sql注入

$userID = "1";
$description = "Hi! It's been a while..."; //For example...


$stmt = $conn->prepare("INSERT INTO projecten (`user_ref`, `description`) VALUES (?, ?)");
$stmt->bind_param('is', $userID, $description);

/* execute prepared statement */
$stmt->execute();

printf("%d Row inserted.\n", $stmt->affected_rows);

/* close statement and connection */
$stmt->close();