-2

私はこのコードを持っています:

$vid_length = gmdate("H:i:s", $ytarr['length_seconds']);

$query = $conn->prepare("INSERT INTO videos (owner_id, video_url, vid_length, thumbnail_url, title) VALUES (:owner_id, :video_url :vid_length, :thumbnail_url, :title) ");
$query->execute(array(
    ':owner_id' => $_POST['owner_id'],
    ':video_url' => $youtube_link,
    ':vid_length' => $vid_length,
    ':thumbnail_url' => (string) $ytarr['thumbnail_url'],
    ':title' => (string) $ytarr['title']
));

vid_length に関連するコードを削除すると、他の値は正常に保存されます。ただし、vid_length を使用すると、クエリは機能しません。

(文字列)を$ vid_lengthにキャストしながら、vid_length列の時刻、日時、およびvarchar/textを作成しようとしました。

これを機能させるための提案はありますか?

Ps: $vid_length は 00:02:39 の形式になります (秒を変換した後) $ytarr['length_seconds'] は数値です (つまり、264 秒)

4

2 に答える 2

-1

データベースに送信される各値の変数を作成して、データベースに直接挿入するだけです(vid_length VARCHAR(255) NOT NULL)

$vid_length = gmdate("H:i:s",$ytarr['length_seconds']);
$owner_id = $_POST['owner_id'];
$thumbnail_url = (string) $ytarr['thumbnail_url'];
$title = (string) $ytarr['title'];

$query = $conn->prepare("INSERT INTO videos (owner_id, video_url, vid_length, thumbnail_url, title)
VALUES (:owner_id, :video_url, :vid_length, :thumbnail_url, :title) ");

$query->execute(array(
    ':owner_id' => $owner_id,
    ':video_url' => $youtube_link,
    ':vid_length' => $vid_length,
    ':thumbnail_url' => $thumbnail_url,
    ':title' => $title

));
于 2013-10-07T07:54:30.993 に答える