0

問題を解決する必要があります。MySQL に Bata と Transport という名前の 2 つのテーブルがあります。

テーブル Bata には、id (PK、AI)、電話番号、数量、価格、総計があります。

テーブル Transport の場合、id(PK、AI)、電話番号、名前、住所などがあります。

ユーザーが Bata ページで送信をクリックすると、データはデータベースに保存されますが、電話番号フィールドは空白のままになります。ユーザーが [Transport] ページで [submit] をクリックすると、データがデータベースに保存されます。

問題は、Tranport フィールドから ID が同じ Bata 電話フィールドに電話番号を挿入するにはどうすればよいかということです。エンドユーザーが注文を確認できるため、これを行う必要があります。

これは輸送用の私のコードです

<?php
error_reporting(0);
ini_set('display_errors', false);


$tranport = $_POST['Tranport'];
$name = $_POST['billName'];
$phone = $_POST['billPhone'];
$company = $_POST['billCompany'];
$address = $_POST['billAdd1']; 
$negeri = $_POST['negeri']; 
$label = $_POST['mylabel']; 
$date = $_POST['inputField'];

$input = "INSERT INTO tranport (deliverTyper , name , phone , company ,
   address , state    ,   rate , date )";

$input .= " VALUES ('$tranport', '$name', '$phone', '$company', '$address',
    '$negeri',   '    $label', '$date') "; 

require_once("connection.php");
mysqli_query($conn,$input);


$query = "INSERT INTO bata (phone) VALUES ('$phone')"; 

mysqli_query($conn,$query);


if(mysqli_affected_rows($conn) <= 0)
{
print "Unable to create account.Please <a href='tranport.php'>click here</a>to try           gain.";
}
else
{
mysqli_close($conn);
header("Location:try.php?sebab=pengguna baru");
exit();
}

 mysqli_close($conn);


  ?>    
4

2 に答える 2

1

を使用して、最後に挿入されたエントリの AUTO_INCREMENT 列に対して生成された ID を取得できますmysqli_insert_id($conn)


あなたのコードはインジェクションに対して脆弱です。PDO / mysqli で適切にパラメータ化されたクエリを使用する必要があります

于 2013-04-30T04:34:09.190 に答える
0

mysqli_insert_id($conn) を使用して、最後に挿入されたエントリの AUTO_INCREMENT 列に対して生成された ID を取得できます。

最後の挿入 ID を取得するためのサンプル コードを次に示します。

<?php
$con = mysql_connect("localhost", "peter", "abc123");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

$db_selected = mysql_select_db("test_db",$con);

$sql = "INSERT INTO person VALUES ('Børge','Refsnes','Sandnes','17')";
$result = mysql_query($sql,$con);
echo "ID of last inserted record is: " . mysql_insert_id();

mysql_close($con);
?> 
于 2013-04-30T05:27:04.740 に答える