0

mysqlデータベースのテーブルを更新するこのphpファイルがあります。

それは一定に機能します。製品の名前(product_name)を更新し、(date_added)も更新します。ただし、IDが更新されていないため、そのIDでアップロードされた画像が表示されません。

コードは次のとおりです。

<?php 
// Parse the form data and add inventory item to the system
if (isset($_POST['product_name'])) {

    $product_name = mysql_real_escape_string($_POST['product_name']);
    // See if that product name is an identical match to another product in the system
    $sql = mysql_query("SELECT id FROM tomProduct WHERE product_name='$product_name' LIMIT 1");
    $productMatch = mysql_num_rows($sql); // count the output amount
    if ($productMatch > 0) {
        echo 'Sorry you tried to place a duplicate "Product Name" into the system, <a href="index.php">click here</a>';
        exit();
    }
    // Add this product into the database now
    $sql = mysql_query("UPDATE tomProduct SET product_name='$product_name', date_added=now()") or die (mysql_error());
     $pid = mysql_insert_id();
    // Place image in the folder 
    $newname = "$pid.jpg";
    move_uploaded_file( $_FILES['fileField']['tmp_name'], "../tom/$newname");
    header("location: verify_members.php"); 
    exit();
}
?>

そしてここにフォームがあります:

<form action="verify_members.php" enctype="multipart/form-data" name="myForm" id="myform" method="post">
<table width="90%" border="0" cellspacing="0" cellpadding="6">
  <tr>
    <td width="20%" align="right">Product Name</td>
    <td width="80%"><label>
      <input name="product_name" type="text" id="product_name" size="64" />
    </label></td>
  </tr>
  <tr>
    <td align="right">Product Image</td>
    <td><label>
      <input type="file" name="fileField" id="fileField" />
    </label></td>
  </tr> 
        <tr>      
  <tr>
    <td>&nbsp;</td>
    <td><label>
      <input type="submit" name="button" id="button" value="Add This Item Now" />
    </label></td>
  </tr>
</table>
</form>

なぜこれが起こっているのか誰かが知っていますか?

ありがとう

4

1 に答える 1

2

mysql_insert_id()ではなく、最後のINSERTレコードを返しますUPDATE

于 2013-03-27T13:32:32.777 に答える