Php 如何从mysql表中正确序列化和取消序列化数组(错误)
我一直在尝试编写一些代码,从MySQL表中获取一个数组,向数组中添加一个值,并将数组更新为MySQL表 我收到的错误如下:Php 如何从mysql表中正确序列化和取消序列化数组(错误),php,serialization,Php,Serialization,我一直在尝试编写一些代码,从MySQL表中获取一个数组,向数组中添加一个值,并将数组更新为MySQL表 我收到的错误如下: 注意:unserialize():偏移量为0(共1个字节)时出错 警告:array_push()要求参数1为数组,给定布尔值 //Getting a id from a mysql table $rand1_user_id = $rand1['user_id']; //Selecting data from the row w
注意:unserialize():偏移量为0(共1个字节)时出错 警告:array_push()要求参数1为数组,给定布尔值
//Getting a id from a mysql table
$rand1_user_id = $rand1['user_id'];
//Selecting data from the row where id="$rand1_user_id"
$rand1_id = mysqli_query($con, "SELECT * FROM users WHERE id='$rand1_user_id'" );
$rand1_array = mysqli_fetch_array($rand1_id);
//Stating array variable
$array = array();
//Unserialize the needed array from mysql table while saving it to $array
$array = unserialize($rand1_array['installer_id']);
//Adding a variable to $array
array_push($array, $user_id);
//Converting array back into serialized so I can add it back into the table
$array_serialized = serialize($array);
//Updating the table by adding the serialized array
$add_array = mysqli_query($con, "UPDATE user SET installer_id='$array_serialized' WHERE id='$rand1_user_id");
在
更新查询“更新用户集安装程序\u id='$array\u serialized'的末尾缺少一个”
(单引号),其中id='$rand1\u user\u id''
但我建议改为使用带参数的预处理语句。您收到的错误是什么?@fyrye能否详细说明使用带参数的预处理语句的含义?谢谢你的帮助!请参阅:有关您的特定用例和一般信息。@fyrye我忘了将错误添加到我的问题中,它们现在已经出现了。谢谢