duankeng9477 2014-05-10 13:45
浏览 51

如何从INSERT中的两个输入中获取值?

How do a get the value of select name= 'type' included with the INSERT of 'description'???

Array ( 
  [0] => 23000 
  [1] => 1452 
  [2] => Cannot add or update a child row: a foreign key constraint fails (`dblabb`.`items`, CONSTRAINT `fk_items_itemtypes_id` FOREIGN KEY (`type`) REFERENCES `itemtypes` (`id`) ON DELETE CASCADE ON UPDATE CASCADE) 
)
  if(isset($_POST['addItem'])){
  $query = "INSERT INTO items(type,description)  VALUES (':type:id', ':desc')";
  $name = filter_input(INPUT_POST,'desc',FILTER_SANITIZE_SPECIAL_CHARS);

  $sth = $db->prepare($query);
     if($sth->execute(array(':desc' =>$name)``)){

        echo "<h4>Item added</h4>";

      }else{
        echo "<h4>Error</h4>";
        echo "<pre>" . print_r($sth->errorInfo()) . "</pre>";
   }

   <form action="dblabb3.php" method="post">
   <select name="type">
        <?php

        $query = "SELECT * FROM itemtypes ORDER BY name ASC";
        if ($result = $db->query($query)) {
              while ($row = $result->fetch(PDO::FETCH_NUM)) {
                    echo '<option value="' . $row['0'] . '">' .
                            $row['1'] . '</option>';
              }
        } ?>
    </select>
    <input type="text" name="desc" placeholder="description">
    <input type="submit" name="addItem" value="Submit">
    </form>
  • 写回答

1条回答 默认 最新

  • drctyr2869 2014-05-10 13:52
    关注

    Your execute statement has only one element in the array [desc] but type is required as well.

    Should rather look like:

    if($sth->execute(array(':type:id'=>$TYPE,':desc' =>$name){}
    
    评论

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题