在考虑 PHP/HMTL 编程方面,我绝对是个初学者,现在我已经被这些问题困扰了好几天。
首先,我创建了包含以下列(id、姓名、姓氏、电话号码、电子邮件)的 Mysql 表。然后我成功地创建了阅读表格的表格。现在我想阅读并稍后使用以下代码编辑特定行:
41 <?php
42 $con = mysql_connect("localhost","username","password");
43 mysql_select_db("database", $con);
44 $id=$_GET["id"];
45 $result = mysql_query("SELECT * FROM Table where id='$id'");
46 $row = mysql_fetch_array($result);
47 ?>
但我得到的只是以下错误: 注意:C:\xampp\htdocs\contacts_edit.php 第44行未定义索引:id
任何帮助将不胜感激!
最佳答案
您还没有在您的 URL 中设置 GET 参数。这就是为什么 id 没有在你的全局中定义的原因。
为防止出现该问题,请先检查变量:
$id = isset($_GET['id']) ? (int)$_GET['id']: 0;
或者
if (!isset($_GET['id']) {
$_GET['id'] = 0;
}
给你的一个简短提示......
你真的应该看看你已经构建了一个非常大的安全漏洞的 SQL 注入(inject)。
不要在 SQL 查询中直接使用 $_GET 和 $_POST。您应该更喜欢使用 PDO 或 MySQLi 准备好的语句。如果您想使用您的解决方案,请将您的 id 转换为如下整数值:
$id = (int)$_GET['id'];
那么当它没有设置时你有一个默认值 0。
关于php - $_GET 未定义索引(来自 mysql 表的值),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12969690/