如何在PDO中将序列化数组传输到数据库?

时间:2017-03-22 21:23:47

标签: php mysql pdo

已经有几天我想知道这件事了:

如何在PDO中将序列化数组传输到数据库?

我的数据库:

id | name | surname

我的功能不起作用:

public function save($value2, $value3)
{
        $array = array('id' => '', ‘name’ => "$value2", ‘surname’ => "$value3");
        $serialize = serialize($array);

        mysqli_query("INSERT INTO mytable VALUES(NULL, 'serialize', '".mysqli_real_escape_string($serialize)."')") or die(mysqli_error());

}

有关信息,我的$ value1为null,因为我在表中使用了自动增量。

...

感谢您的帮助:)

1 个答案:

答案 0 :(得分:-1)

由于你应该使用PDO,你应该以这种方式完成工作。当你在那里时,使用 pepared 语句来处理所有棘手的部分,例如破坏SQL的字符串。

假设您已经有一个PDO对象$pdo,这会给您:

$prepared=$pdo->prepare('INSERT INTO mytable VALUES(NULL,?,?)');
$prepared->execute(array('serialize',$serialize));

如果您使用mysqli_语句,也可以使用预准备语句。