在PHP中存储由gmdate()构成的MySQL中的值

时间:2013-10-07 07:13:50

标签: php mysql

我有这段代码:

$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列时间,日期时间以及varchar / text转换为$ vid_length。

有任何建议使这项工作?

Ps:$ vid_length格式为00:02:39(转换秒数后) $ ytarr ['length_seconds']是一个数字(即264秒秒)

2 个答案:

答案 0 :(得分:0)

您可以在查询中尝试使用SEC_TO_TIME(seconds)来执行转换。

你也错过了:video_url:vid_length

之间的昏迷
VALUES (:owner_id, :video_url :vid_length, :thumbnail_url, :title)

这样的事情可能会有所帮助:

/*
$vid_length = gmdate("H:i:s", $ytarr['length_seconds']);
*/
$query = "
    INSERT INTO videos
            (owner_id,  video_url,              vid_length,       thumbnail_url,  title)
    VALUES (:owner_id, :video_url, SEC_TO_TIME(:length_seconds), :thumbnail_url, :title)";

$query = $conn->prepare( $query );
$query->execute(array(
        ':owner_id' => $_POST['owner_id'],
        ':video_url' => $youtube_link,
        ':length_seconds' => $ytarr['length_seconds'],
        ':thumbnail_url' => (string) $ytarr['thumbnail_url'],
        ':title' => (string) $ytarr['title']
));

答案 1 :(得分:-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

));