2015-03-18 2 views
0

Здравствуйте, я использую php в сочетании с html и MySQL и вам нужно добавить продукт. Сам код регистрируется, но когда я пытаюсь добавить новый продукт, в базу данных ничего не регистрируется. Может быть, я просто упускаю из виду что-то маленькое.PHP добавить продукт не работает

Вот моя add_product функция:

function add_product($productCode, $name, $version, $releaseDate) { 
    global $db; 
    $query = 'INSERT INTO products 
      (productCode, name, version, releaseDate) 
      VALUES 
      (:productCode, :name, :version, :releaseDate)'; 
    $statement = $db->prepare($query); 
    $statement->bindValue(':productCOde', $productCode); 
    $statement->bindValue(':name', $name); 
    $statement->bindValue(':version', $version); 
    $statement->bindValue(':releaseDate', $releaseDate); 
    $statement->execute(); 
    $statement->closeCursor(); 
} 

Вот мой addproduct контроллер:

if ($action == 'add_product'){ 
//Get the IDs 
$productCode = $_POST['productCode']; 
$name = $_POST['name']; 
$version = $_POST['version']; 
$releaseDate = $_POST['releaseDate']; 
//register the product 
add_product($productCode, $name, $version, $releaseDate); 
} 

А вот мой add_product HTML:

<form action="index.php" method="post" id="add_product_form"> 
    <input type="hidden" name="action" value="add_product"> 


    <label>Code:</label> 
    <input type="text" name="productCode" /> 
    <br> 

    <label>Name:</label> 
    <input type="text" name="name" /> 
    <br> 

    <label>Version:</label> 
    <input type="text" name="version" /> 
    <br> 

    <label>Release Date:</label> 
    <input type="text" name="releaseDate" /> 
    <br> 

    <label>&nbsp;</label> 
    <input type="submit" value="Add Product" /> 
    <br> 
</form> 
+1

Простой, опечатка 'productCOde'. Я заметил, что менее 2-х секунд плоские ;-) исключения бы тоже, если бы вы использовали это. –

+0

Может быть, вы должны '$ pdo-> setAttribute (PDO :: ATTR_ERRMODE, PDO :: ERRMODE_EXCEPTION);' чтобы сами могли видеть ошибки PDO. – steven

+0

Если вы просто изучаете SQL и т. Д., Правильно, круто. Но для серьезной работы используйте некоторые рамки, такие как [Laravel] (http://laravel.com/) или, по крайней мере, хороший [ORM] (http://en.wikipedia.org/wiki/Object-relational_mapping), например [ Doctrine2] (http://doctrine-orm.readthedocs.org/en/latest/tutorials/getting-started.html). –

ответ

0

if ($action == 'add_product'){

Где вы устанавливаете значение для $ action? Где-то вам нужно $action = $_POST['action'] перед оператором if.

+0

Они здесь. ', но не определили его в своем коде. Наименее, а не из того, что было опубликовано. Это всего лишь «одна» из сделанных ошибок. –

+0

Ненавижу отвечать на вопросы от людей только с одной точки, и я каждый раз засасываюсь. Как вы думаете, этот парень вернется, чтобы просмотреть, комментировать и обновить информацию? Остальные из нас создали бы локальный хост-сервер, шагнули через код с отладчиком и нашли бы ответ для себя, вздохнув. – zipzit

+0

Не так ли? * вздох * Я все хорошо знаю. –

Смежные вопросы