我是堆栈溢出的新手。如果您在2个文本框中键入文本并将其发送到数据库,我正在创建一个站点。我需要它然后告诉我它的id是什么,将它保存为会话,然后将其上传到另一个数据库。听起来令人困惑。但我被困在一个部分。它只查看来自该用户的结果。我试过只显示上次上传的最后一个ID,但如果有多个人试图上传数据并知道确切的会话,则可能非常不可靠。我也无法将会话与id链接起来。以下是论坛保存到数据库的代码。我非常有信心将用户输入的数据发送到另一个数据库。我只是停留在发现用户输入文本ID并创建一个持有身份证号码的会话
<?php
header("Location:myscorenum.php");
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "score";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
session_start();
if (isset($_SESSION['username'])){
$username = $_SESSION['username'];
echo "working";
}else{
//3.2 When the user visits the page first time, simple login form will be displayed.
}
$value = $_POST['name'];
$value1 = $_POST['description'];
$sql = "INSERT INTO all_scores (name, description) VALUES ('$value','$value1')";
if ($conn->query($sql) === TRUE) {
echo "<a href=https://twitter.com/angela_bradley>My Twitter</a>";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
生病有处理插入另一个文件中的另一个数据库。我对上传特定会话充满信心。
任何问题都会毫不犹豫地给我留言。谢谢你的帮助。
答案 0 :(得分:0)
您可以使用:
mysqli :: $ insert_id - mysqli_insert_id - 返回上次查询中使用的自动生成的ID
赞:echo $conn->insert_id;
由于您在$conn
上调用它,这是一个已连接的mysqli
实例,它将返回您的最后插入的ID,无论db上的其他活动如何(其他查询不影响输出的正确性)
答案 1 :(得分:0)
我编辑了我的答案。这是代码的最后一部分,我刚刚添加了一行代码。看看这是否是您正在寻找的。 如果这不起作用,请确保您的数据库ID字段是AI。
if ($conn->query($sql) === TRUE) {
$id=$conn->insert_id; //this is where you get the last inserted id.
echo "<a href=https://twitter.com/angela_bradley>My Twitter</a>";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
答案 2 :(得分:0)
要使用会话并将 - &gt; insert_id设置为会话变量并在任何其他页面中使用它,您可以执行以下操作:
if ($conn->query($sql) === TRUE) {
session_start();
$_SESSION['id']=$conn->insert_id;
echo "<a href=https://twitter.com/angela_bradley>My Twitter</a>";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
现在在任何其他页面中执行此操作以检索会话变量:
session_start();
$id=$_SESSION['id'];
在这里,你得到了身份证明。 你还困惑吗?