2010-03-22 4 views
0

Я довольно новичок в PHP, и я пытаюсь создать базу данных инвентаря. Я пытаюсь сделать так, чтобы пользователь мог ввести идентификатор карты, а затем сумму, которую хотите добавить в инвентарь, и обновить инвентарь. Например, кто-то может ввести тест и 2342, и он будет обновлять тест. Вот то, что я пытался, но безуспешно:Добавление с PHP в базу данных MySQL

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); 
?> 
+0

Возможно, вы захотите изменить свое имя пользователя и пароль сейчас. – jasonbar

+0

Я сделал это сейчас. Crap, который был немым – shinjuo

ответ

1

Я думаю, что вам не хватает в кавычки вашего значения POST для одного. Вы также совершаете один из кардинальных грехов развития PHP, поместив переменные прямо в вашу строку SQL, как это. Попробуйте это вместо:

<?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); 
?> 
+0

Извините, я фактически не оставил переменную там изначально. Я просто что-то пробовал и забыл изменить его. И благодаря тому, кто изменил мою базу данных. Я не могу поверить, что я забыл удалить это сам – shinjuo

+0

@shinjuo: он по-прежнему доступен в журнале изменений. Пожалуйста, измените свой пользовательский пароль/пропуск. – jasonbar

+0

Теперь я изменил информацию для входа из этой вины – shinjuo