-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'] 是一个数字(即 264s 秒)

4

2 回答 2

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']
));
于 2013-10-07T08:43:19.710 回答
-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 回答