猿问

Php和Sql,未定义时未定义的索引

我试图完成和锻炼,但出现了 2 个错误:


Notice: Undefined index: Id_sessione in C:\xampp\htdocs\Challenge\Recensione.php on line 24


Notice: Undefined index: Cod_sessione in C:\xampp\htdocs\Challenge\Recensione.php on line 25

通常我知道如何解决未定义的索引错误,但这次我已经尝试更改语法并检查表/查询,但对我来说一切似乎都是正确的。


$Titolo = $_POST['Titolo'];

$Rate = $_POST['Valutazione'];

$query = "Select Titolo From recensioni where Titolo = '$Titolo' limit 1";

$query2 = "Select MAX(Id_sessione) from sessione";

$query3 = "Select MAX(Cod_sessione) from recensioni";

$result = $conn->query($query);

$result2 = $conn->query($query2);

$result3 = $conn->query($query3);

$row = mysqli_fetch_assoc($result);

$row2 = mysqli_fetch_assoc($result2);

$row3 = mysqli_fetch_assoc($result3);

$controllaTitolo = $row['Titolo'];

$Sessione = $row2['Id_sessione'];

$controllaSessione = $row3['Cod_sessione'];

表会话:


+-------------+------+---------------------+

| Id_sessione | Nome | TimeA               |

+-------------+------+---------------------+

|           1 | zhao | 2019-05-17 13:04:19 |

|           2 | zhao | 2019-05-18 18:07:24 |

|           3 | zhao | 2019-05-18 18:47:20 |

|           4 | zhao | 2019-05-19 11:49:54 |

+-------------+------+---------------------+

认可:


+---------------+---------+-------------+--------------+

| Id_recensione | Titolo  | valutazione | Cod_sessione |

+---------------+---------+-------------+--------------+

|             1 | Avenger |           3 |         NULL |

|             2 | Titanic |           4 |            4 |

+---------------+---------+-------------+--------------+


回首忆惘然
浏览 135回答 1
1回答

天涯尽头无女友

您需要在查询中使用正确的列别名并使用列别名作为索引例如 max_id和max_codTitolo = $_POST['Titolo'];$Rate = $_POST['Valutazione'];$query = "Select Titolo From recensioni where Titolo = '$Titolo' limit 1";$query2 = "Select MAX(Id_sessione) max_id from sessione";$query3 = "Select MAX(Cod_sessione) max_cod from recensioni";$result = $conn->query($query);$result2 = $conn->query($query2);$result3 = $conn->query($query3);$row = mysqli_fetch_assoc($result);$row2 = mysqli_fetch_assoc($result2);$row3 = mysqli_fetch_assoc($result3);$controllaTitolo = $row['Titolo'];$Sessione = $row2['max_id'];$controllaSessione = $row3['max_cod'];无论如何你不应该在 SQL 查询中使用 PHP var .. 你有 sqlinjection 的风险.. 为避免这种情况,你应该查看你的数据库驱动程序以获取准备好的语句和绑定参数
随时随地看视频慕课网APP
我要回答