php - SQL conn 在使用 POST 和标头(位置)评级时失败
问题描述
我创建了一个评分系统,用户一次显示一个电影标题,然后可以对标题“好”、“差”或“没看过”进行评分。然后脚本将电影 id 插入到带有电影 id 和用户 id 的“已评分”表中,并用标题('位置')刷新页面。
评级进入数据库,但在刷新的站点上,脚本崩溃并且无法执行相同的 sql 查询来获取下一个电影标题。
我在两个表上使用了 array_diff 函数: - 电影标题 id - 电影标题 id 的用户已经评分
该函数将未分级的电影标题 id 数组返回给变量 $notrated。
然后我设置
$nexttitle = $notrated[0];
然后我运行:
$nexttitle = "";
$sql = "SELECT * FROM movies WHERE movid=$nextid";
$result = $conn->query($sql);
if(!$result) die("Trouble connecting to database");
while($row = $result->fetch_assoc()){
$nexttitle = $row['title'];}
触发连接到数据库的问题。
解决方案
我解决了这个问题!
问题是这样的:我用 ass arrayName[0] 处理了有效输出。array_diff 函数维护主数组(第一个参数)的索引号,因此当循环继续并且项目 index[0] 无效时,它会被抛出 array_diff 生成的数组。因此,索引[0] 处不会有一个项目。仅当它是现有密钥时才通过寻址有效输出来解决此问题。
推荐阅读
- c++ - H5Tget_member_type() 返回复合 HDF5 数据类型的奇怪值
- sql - 我们可以在 sql server 中对 CTE 表使用两个不同的查询吗
- json - 使用 DynamoDB 属性名称通过 REST 发送 JSON
- oracle - 我有两个带有外键的表,我想在第一个表中按下外键,第二个表出现数据
- c# - 使用嵌套文档解析 JSON
- node.js - 没有用快递和玉石发布在猫鼬上的数据
- laravel - Laravel 6 此路由不支持 POST 方法。支持的方法:GET、HEAD
- apache-spark - Spark Structural Streaming 输出模式问题
- javascript - 如何从 Cloud Firestore 中检索多个文档,但没有重复?
- c# - ALINK:错误 AL1078:错误签名程序集 -- 未知错误 (8013141c)