このプログラムでは、シリアル化された配列をMySQLテーブルから取り出し、その結果を1つ追加してから、その配列を再シリアル化して戻しますテーブル。ここに私のコードは次のとおりです。配列をシリアル化するときに最後の番号をシリアル化しません
for($i = 0; $i < $count; $i++){
$query = "SELECT `assignment_assigned` FROM `users` WHERE isAdmin = 0 LIMIT 1";
$result = mysqli_query($con, $query);
if($result === FALSE) {
echo "Failed".mysql_error();
} else {
$unserializedVal = unserialize(implode(mysqli_fetch_array($result)));
$array = array_push($unserializedVal, $val);
$serializedVal = serialize($unserializedVal);
}
<h1><?php print_r($unserializedVal); ?></h1>
私はこれを行うと、私は配列を取得し、うまくそれをアンシリアライズすることができますが、私はそれを再シリアライズしようとすると、これは現れる:
a:8:{i:0;i:2;i:1;i:3;i:2;i:4;i:3;i:5;i:4;i:6;i:5;i:7;i:6;i:8;i:7;s:2:"10";}
オリジナルのシリアル化されました私はこのような最後の数字ルックスを追加する前に
a:7:{i:0;i:2;i:1;i:3;i:2;i:4;i:3;i:5;i:4;i:6;i:5;i:7;i:6;i:8;}
配列:文字列は、このでした
ここArray ([0] => 2 [1] => 3 [2] => 4 [3] => 5 [4] => 6 [5] => 7 [6] => 8 [7] => 10)
すべてのヘルプ:
そして最後に番号を付加した後?あなたが行うことはできませんので
簡単なヒント:同じクエリ(動的ではない)を常に実行するので、 'for'の前に変数に結果を保存するだけです。あなたが毎回同じ結果を返すと思われる複数の選択肢を実行しているわけではありません... – FirstOne
私は、mysqli_ *関数を実行していますが、エラーを表示するにはmysql_errorを使用してください。あなたが[** APIを混在させることはできません**](http://stackoverflow.com/questions/17498216/can-i-mix-mysql-apis-in-php) – FirstOne