0

シリアル化された配列を追加するために次のスクリプトを使用しています

mysql_select_db("formdemo", $con);

    $result=mysql_query("select * from rohit where fid='$y'");
    if(mysql_num_rows($result)!=0)
    {
        if($result)
        {
            while($row=mysql_fetch_array($result))
            {
                $n=$row['tags'];

                $a=explode(',', $n);
                print_r($a);
                $cnt=count($a);
                $x=unserialize($row['data']);
                for($i=0;$i<$cnt;$i++)
                {
                    $d=$_GET[$a[$i]];
                    array_push($x,$d);
                }
                array_push($x,"<br/>");
            }
        }
    }
    $str=serialize($x);
    $sql="update rohit set data='$str' where fid='$y'";
    if(!mysql_query($sql,$con))
        die(mysql_error());
    else
        echo "Your data has been updated successfully\n";

データベースが空のときにこれを初めて実行すると、エラーが発生します。array_push()は、パラメーター1が配列であると想定し、値b;0をデータベースに格納します。この状況で私は何をすべきですか。助けてください...

4

1 に答える 1

1

最も簡単な解決策は、処理を開始する前に、変数$xを配列で初期化することです。しかし、ここで私のコメントを確認してください

于 2012-07-13T13:13:41.343 に答える