MySQL veritabanı PHP ile ekleme

1 Cevap php

Ben PHP için oldukça yeni ve ben bir envanter veritabanı yapmak için çalışıyorum. Ben bir kullanıcı bir kart kimliğini girin ve ardından envanter eklemek Talep miktarı ve stok güncelleme olabilir ki bunu yapmak için çalışıyorlar. Örneğin birisi testi ve 2342 yazabilirsiniz ve testi güncelleştirmek. Burada hiçbir başarı ile çalışıyorlar budur:

add.html

<body>
  <form action="add.php" method="post">
    Card ID: <input type="text" name="CardID" />
    Amount to Add: <input type="text" name="Add" />
    <input type="submit" />
  </form>
</body>
</html>

add.php

<?php
$link = mysql_connect('host', 'username', 'password');
 if (!$link){
    die('Could not connect: ' . mysql_error());
   }
 mysql_select_db("tdm_inventory", $link);
 $add = $_POST[Add]
 mysql_query("UPDATE cardLists SET AmountLeft = '$add' WHERE cardID = 'Test'");
 echo "test successful";
 mysql_close($link);
?>

1 Cevap

Ben biri için POST değeri tırnak eksik olduğunu düşünüyorum. Ayrıca böyle doğru SQL dize değişkenleri koyarak PHP geliştirme kardinal günahları birini işlemektedir. Bunun yerine bu deneyin:

<?php
 $link = mysql_connect('host', 'username', 'password');
 if (!$link)
 {
   die('Could not connect: ' . mysql_error());
 }
 mysql_select_db("tdm_inventory", $link);
 if (mysql_errno()) 
 { 
   echo mysql_errno($link) . ": " . mysql_error($link) . "\n";
 }
 $add = $_POST["Add"]
 $query = sprintf("UPDATE cardLists SET AmountLeft = AmountLeft + %s WHERE cardID = 'Test'", mysql_real_escape_string($add));
 mysql_query($query);
 if (mysql_errno()) 
 { 
   echo mysql_errno($link) . ": " . mysql_error($link) . "\n";
 }
 echo "test successful";
 mysql_close($link);
?>