MySQL + PHP使用DropDown List将产品添加到产品表中以从Category表中选择产品类别

时间:2017-01-05 19:42:13

标签: php mysql

我在MySQL中创建了5个表,4个是不同的产品'衣服,玩具,电子产品和书籍',列数很少(ID,产品名称和价格),一个表是带有(categoryID和categoryName)的类别。我正在尝试创建页面,在登录后,管理员可以添加产品并将其分配到类别,然后可以添加更多类别。我有一个下拉列表,其中用户选择了他希望添加产品的类别,然后使用提供的填写必要信息,如产品名称和价格。不幸的是,我一直收到一个错误,我无法克服帮助;(这是我的代码:

    //this creates the drop down list of categories...

//Database connection 
$server = '*********';
$username = '********';
$password = '******';

//The name of the schema created in MySQL Workbench
$schema = '******';

$pdo = new PDO('mysql:dbname=' . $schema . ';host=' . $server, $username, $password, 
                [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]);

 $results = $pdo1->query('SELECT * FROM categories ');
echo 'Chose Category:';

echo "<form action='add_products.php' method='POST'>";
echo "<select name='catForm'>";

foreach ($results as $row) {
    echo "<label>Chose Category:</label><option value='" . $row['catName'] . "'>" . $row['catName'] . "</option>";
}
echo "</select>";
echo "<input type='submit' value='Add' name='submitSelectCat' />
    </form>";

    if (isset($_POST['submitSelectCat']))
    {

        $myvalue=$_POST['catForm'];
        echo $myvalue;
    }

// -----------------------------------

    //This is what happens when button was pressed


//Database connection 
$server = '*********';
$username = '**********';
$password = '**********';

//The name of the schema created in MySQL Workbench
$schema = '********';

$pdo = new PDO('mysql:dbname=' . $schema . ';host=' . $server, $username, $password, 
                [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]);



$pdo->query('INSERT INTO ' . $myvalue  . '(productName, price) 
        VALUES(
            "' . $_POST['productName'] . '",
            "' . $_POST['price'] . '"
        )');
            echo $myvalue;




}
//The form was not submitted, display the form
else {
?>

<form action="add_products.php" method="POST">

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

        <label>Price:</label>
        <input type="text" name="price" value="£" />        

        <input type="submit" value="Add" name="submitAddProduct" />


    </form>

<?php
}

?>  

(!)致命错误:未捕获PDOException:SQLSTATE [42000]:语法错误或访问冲突:1064 SQL语法中有错误;检查与您的MariaDB服务器版本相对应的手册,以便在/srv/http/public_html/add_products.php的第1行'(productName,price)VALUES(“thissssssssss”,“£1111”)'附近使用正确的语法第78行

(!)PDOException:SQLSTATE [42000]:语法错误或访问冲突:1064 SQL语法中有错误;检查与您的MariaDB服务器版本相对应的手册,以便在/srv/http/public_html/add_products.php的第1行'(productName,price)VALUES(“thissssssssss”,“£1111”)'附近使用正确的语法第78行

    LINE 77-    "' . $_POST['price'] . '"
LINE - 78   )');

注意:未定义的变量:第74行的/srv/http/public_html/add_products.php中的myvalue

LINE 74 - $ pdo-&gt; query('INSERT INTO'。$ myvalue。'(productName,price)

0 个答案:

没有答案