Ich habe eine Tabelle 'Prac1' mit Spalten id (primary key, auto_increment)
, Name
und Contact
. Und eine weitere Tabelle "Prac2" mit Spalten id(foreign key)
, Order_id(primary key)
und Order_items
.Abrufen von Autoinkrementwert:
<?php
$ok=isset($_POST['ok']);
if($ok)
{
$name=$_POST['cname'];
$order=$_POST['oi'];
$contact=$_POST['contact'];
$db = new mysqli("localhost", "root", "","learndb");
$stmt=$db->prepare("INSERT INTO prac1 (Name,Contact) values (?,?)");
$stmt->bind_param("si",$name,$contact);
$stmt->execute();
$stmt=$db->prepare("INSERT INTO prac2 (Order_items) values(?) ");
$stmt->bind_param("i",$order);
$stmt->execute();
}
?>
<form action="prac.php" method="POST">
Name:<input type="text" name="cname"><br>
Contact:<input type="text" name="contact"><br>
Order Items:<input type="text" name="oi"><br>
<input type="submit" name="ok"><br>
Nun Von dieser Form Vorlage, erhalten die Namen und die Auftragspositionen entsprechende Tabelle eingefügt mit Auto-ID in Tabelle pRAC1 erhöht wird. Wie kann ich diese ID der Tabelle prac1 abrufen, um sie in prac2 einzufügen. Und ich denke, wegen der NULL-ID in der Tabelle prac2 sind die beiden Tabellen nicht verbunden und der folgende Code zeigt nichts an.
$db = new mysqli("localhost", "root", "","learndb");
$stmt=$db->prepare("SELECT * FROM prac1 INNER JOIN prac2 ON prac1.id=prac2.id ORDER BY prac2.Order_items");
$stmt->execute();
$result=$stmt->get_result();
echo "<TABLE BORDER='1'>";
echo "<tr><thead><td>ID</td><td>Order ID</td><td>Order items</td><td>Name</td><td>Contact</td><td>Status</td></thead></tr>";
while($row=$result->fetch_assoc())
{
echo "<tr>";
echo "<td>";
echo $row['id'];
echo "</td><td>";
echo $row['order_id'];
echo "</td><td>";
echo $row['Order_items'];
echo "</td><td>";
echo $row['Name'];
echo "</td><td>";
echo $row['Contact'];
echo "</td><td>";
echo $row['Status'];
echo "</td>";
echo "</tr>";
}
echo "</table>";
[Sie immer das Handbuch könnten versuchen] (http://php.net/manual/en/ mysqli.insert-id.php) als letztes Mittel natürlich! _hint: mysql_insert_id_ – RiggsFolly
Dinkel ich das falsch shoudl es 'mysqli_insert_id gelesen haben()' – RiggsFolly