数据库的主键作为PHP头信息
我已经在数据库的主键作为PHP头信息,php,mysql,database,Php,Mysql,Database,我已经在application.php中创建了一个注册表单,提交时将使用submit.php对其进行处理并存储内容,我想重定向到Thank.php,使用一个名为message的参数,其值等于最近插入行的主键。。例如,它应该将我的第100个申请人返回到页面 www.mydomain.com/thanky.php?message=100 其中100是主键(AI) 换句话说,我想打印表的主键作为用户的引用id。。我试过了 标题(“位置:Thanke.php?message=“.id”)和 标题(“位置
application.php
中创建了一个注册表单,提交时将使用submit.php
对其进行处理并存储内容,我想重定向到Thank.php
,使用一个名为message的参数,其值等于最近插入行的主键。。例如,它应该将我的第100个申请人返回到页面
www.mydomain.com/thanky.php?message=100
其中100是主键(AI)
换句话说,我想打印表的主键作为用户的引用id。。我试过了
标题(“位置:Thanke.php?message=“.id”)代码>和
标题(“位置:Thanke.php?message=“.$\u POST['id'])代码>
两个都不适合我
请帮帮我,伙计们
编辑:
这是我的submit.php
code错误的执行顺序-简单修复
首先分配$id,然后运行查询
扭转它们,使其工作
不使用自动增量
我在您评论中的查询中看到,您手动传递了要输入的id。您是否意识到mysql\u insert\u id()
不会返回您调用“id”的sql列,而是返回您设置了自动递增的列?这是表中的一行,可以自动获取递增的数字,而无需手动输入。。。。看起来您正在将mysql\uuu
方法与mysqli
混合使用,并且执行顺序错误
如果数据库表是自动递增的,则不需要在查询中传递ID。通过调用$id=mysql_insert_id()
并在查询中使用id,将0作为使用下一个自动增量id的id传递
在$conn->query($sql)之后获取insert\u id
代码>将返回您使用的插入id
回显一些变量以查看您为mysql_insert_id()获取的值代码>前后
但是,如果您正在执行$conn->query()
,那么您就没有使用标准的mysql\uu
函数
试试这个:
require "admin/sources/connection.php";
// Other variables are declared here
$sql = "my_INSERT_query_goes_here";
$result = $conn->query($sql);
if($result) {
$id = $conn->insert_id;
header("location: thanks.php?message=".$id);
}
让我们看看submit.php
你说的“它不工作”是什么意思?@webbiedave添加为edit:)@TimWolla每次它进入www.mydomain.com/thanky.php?message=0
而不是所需的id。。但是数据库中的内容已正确更新!请注意,require
是一个构造,而不是一个函数,不需要parans。$id=mysql\u insert\u id()代码>应在查询运行后执行。。。否则就没有插入id…我尝试了这个$sql=“插入到寄存器值('$id',*其他变量*)”$结果=$conn->query($sql)$id=mysql_insert_id();如果($result){header(“location:thanking.php?message=“.$id);}
但它不工作!通过arg 0传递静止消息
require "admin/sources/connection.php";
// Other variables are declared here
$sql = "my_INSERT_query_goes_here";
$result = $conn->query($sql);
if($result) {
$id = $conn->insert_id;
header("location: thanks.php?message=".$id);
}