2017-09-12 12 views
0

WordpressのプレミアムテーマとMySQLデータベースに問題があります。データベース]ボックスの値が次のようになります。私は何か他にYouTubeのリンク値を編集するとき、それはデータベースにも後に表示されているもののDB値を編集した後、ライブサイトで値が消えます

a:1{i:0;a:4{s:4:"name";s:9:"Trailer";s:6:"select";s:6:"iframe";s:6:"idioma";s:2:"en";s:3:"url";s:82:"https://youtube.com/sample.mp4 
";}} 

は、このボックス内の全データは、ライブWordpressのページに消えますリフレッシュなぜこのようなことが起きるのか、それがどうして起こらないようにすることができないのか分かりません。

編集: 私はpost_titleなどの値を編集してみましたが、ライブWPページで値を更新しませんでした。これは、スクリプトで大量のデータを簡単に追加して編集する必要があるためです。

+0

あなたはワードプレス管理者の設定で直接再生できませんか?それはより安全な方法でしょう。 – Salketer

+0

問題は、データを大量に編集して挿入する必要があることです。 – murdock477

答えて

0

表示している文字列は、PHPのシリアル化に由来しています。これはPHPが後で使用するために任意の値を文字列化する方法です。

これらの値を一括して変更したい場合は、データを取得してシリアル化し直し、作成したPHP変数に直接変更し、再度シリアル化してデータベースに格納するPHPスクリプトを作成することをお勧めします。

文字列を直接再生する場合は、注意が必要です。

YouTube動画のURLを変更できない主な理由は、文字列宣言も変更していない可能性があるためです。

s:82:"https://youtube.com/sample.mp4"; 

これは無効です。それは:を使用して3つの部分に分割されます。タイプ:長さ:値。したがって、長さ82の文字列ですが、30文字の文字列を指定します。

PHPでNOTICEを有効にすると、間違いなくそのエラーが表示されます。

編集:私は変更

PHPFiddle.orgにビットをいじった後、私は、多くの欠陥を持っているあなたが与えたものからきれいな文字列を、思い付いた...

a:1:{i:0;a:4:{s:4:"name";s:7:"Trailer";s:6:"select";s:6:"iframe";s:6:"idioma";s:2:"en";s:3:"url";s:30:"https://youtube.com/sample.mp4";}} 

注意2つの部分の長さの値と2つのセミコロンを追加しました:

+0

さて、今すぐ動作します!問題は私が入力した間違ったリンクの長さにあったようだ。ありがとう!編集:長さを変更して、私はあなたの更新された返信を見て、実際にそれを働かせたが、あなたの方法はあまりにも動作するようだ! – murdock477

関連する問題