javascript - PHP 和 MySQL : Update not working with Foreach Loop

标签 javascript php mysql mysqli

我的 foreach 循环不适用于 mysql 中的 update 语句。不知道我做错了什么。这是我的 php 片段。

        foreach ($request['playlist_information'] as $playlist) {
        $playlistResult = "UPDATE video_playlists SET channel_id='".$playlist['channel_id']."', playlist_id='".$playlist['id']."', playlist_title='".$playlist['title']."', playlist_status='".$playlist['status']."', playlist_description='".$playlist['description']."', playlist_created='".$playlist['date_created']."'";
        $mysqli->query($playlistResult);
        var_dump($playlist['title']);
    }

我的请求来 self 的 javascript,如下所示:

        var param = {
    "channel_id": channelId,
    "video_id": videoId,
    "views": $scope.stats[0]['views'],
    "likes": $scope.stats[0]['likes'],
    "dislikes": $scope.stats[0]['dislikes'],
    "favorites": $scope.stats[0]['favorites'],
    "comments": $scope.stats[0]['comments'],
    "duration": $scope.stats[0]['duration'],
    "dimension": $scope.stats[0]['dimension'],
    "definition": $scope.stats[0]['definition'],
    "caption": $scope.stats[0]['caption'],
    "licensed_content": licensedContent,
    "upload_status": $scope.stats[0]['uploadStatus'],
    "privacy_status": $scope.stats[0]['privacyStatus'],
    "license": $scope.stats[0]['license'],
    "embeddable": embeddable,
    "public_stats_viewable": publicStatsViewable,
    "video_title": $scope.meta[0]['title'],
    "video_status": $scope.stats[0]['privacyStatus'],
    "video_description": $scope.meta[0]['description'],
    "video_tags": $scope.meta[0]['tags'],
    "playlist_information": {}
}



for (var i = 0; i < $scope.playlists.length; i++) {

    param["playlist_information"][i] = {
                    "channel_id": channelId,
                    "id": $scope.playlists[i]['id'],
                    "title": $scope.playlists[i]['title'],
                    "description": $scope.playlists[i]['description'],
                    "status": $scope.playlists[i]['status'],
                    "date_created": $scope.playlists[i]['datePublished']
    }

};

INSERT 工作正常,我可以在 php 部分没有 foreach 循环的情况下正常更新。我似乎无法找出问题所在。任何帮助表示赞赏。谢谢!

最佳答案

您的查询中的引号有问题:

$playlistResult = "更新 video_playlists SET channel_id='".$playlist['channel_id']."', playlist_id='".$playlist['id']."', playlist_title ='".$playlist['title']."', playlist_status='".$playlist['status']."', playlist_description='".$playlist['description']."', playlist_created=' ".$playlist['date_created']."'";

您可能会遇到语法错误: 检查粗体文本:'".$playlist['channel_id']."'

  $playlistResult = "UPDATE video_playlists SET channel_id=\'".$playlist['channel_id']."\', playlist_id=\'".$playlist['id']."\', playlist_title=\'".$playlist['title']."\', playlist_status=\'".$playlist['status']."\', playlist_description=\'".$playlist['description']."\', playlist_created=\'".$playlist['date_created']."\'";

我希望这对您有所帮助,并在必要时检查您的更新情况。

关于javascript - PHP 和 MySQL : Update not working with Foreach Loop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20493847/

相关文章:

php - 使用php在mysql中创建名称输入的数据表

php - 在不安装 Ghostscript 的情况下将 PDF 文档转换为 PHP 中的预览图像

javascript - 这是什么意思? getData([渲染数据]);

javascript - 从索引页 Angular 检查位置

javascript - 如何在 express.js node.js 中设置 X-Frame-Options

javascript - 为 node.js 回调实现超时

php - Laravel 5.3 cpanel 中的社交名流 cacert.pem 错误

c# - 如何在 ASP.NET 站点中使用 MySQL 数据库,而无需在开发期间进行连接?

mysql - 与 MySQL 中的 NOW() 比较日期

mysql - 有没有办法在 MySQL 中进行最近邻搜索?