Mysql只插入字符串的一部分而不报告错误

时间:2015-02-18 15:51:45

标签: php mysql sql-injection

我的代码中可能有一些注入错误,但我不知道发生了什么。

$name = 'Toshiba LED TV 32" 32W2333D HD Ready';

$query = "UPDATE `tv`
         SET `title` = '" . $this->mysqli->real_escape_string($name). "'
         WHERE `id` = '" . $id . "'";

$prep = $this->mysqli->prepare($query);
$prep->execute();

取而代之的是获得字段标题:

  东芝LED电视32" 32W2333D HD

我明白了:

  

东芝LED电视32"

1 个答案:

答案 0 :(得分:2)

您是否尝试过使用绑定参数? 像:

$query = $mysqli->prepare("UPDATE tv SET title = ? WHERE id = ?");
$statement = $mysqli->prepare($query);

$results =  $statement->bind_param($product_title, $find_id);