我的 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/