如何使用现有ID更新表数据?

时间:2017-05-26 08:58:46

标签: php sql mysqli

我有一个名为book的表格,其中包含以下结构和数据:

id_book = 1
name = dragon
type =

我在other.php中有表单,url已经是other.php?id = 1 在这里我想在“{”中插入一个值id = 1

if( isset($_POST['submit']) ) {    
    $id_book = $_POST['id_book'];
    $type = $_POST['type'];
    if(!empty(trim($typei))) {
        if(add2($id_book, $type)) {
            echo "success";
        }else{
            echo "fail";
        }
    }else{
        echo "check data";
    }
}

$result = show_per_id($_GET['id']);
while($row = mysqli_fetch_assoc($result)) {
    ?>
    <form class="" action="" method="post>
        <div class="form-group">
            <input type="text" class="form-control" placeholder="" name="id_book" value="<?php echo $row['id_book']?>" Required autofocus>
        </div>
        <div class="form-group">
           <input type="text" class="form-control" name="type" value="" readonly>
        </div>
        <div class="form-group">
            <input type="submit" name="submit" class="btn btn-info btn-block" value="confirm">
        </div>
    </form>
    <?php
}

我有函数add2()

function add2($id_book, $type) {
    global $connect;
    $query= "UPDATE book SET type='$type' WHERE id='$id_book'";
    if( mysqli_query($connect, $query) ){
        return true;
    }else{
        return false;
    }
}

我的问题在这里,如何插入数据类型?为什么我的INSERT尝试总是失败?

1 个答案:

答案 0 :(得分:2)

TYPE是一个mysql关键字,您应该在列名称周围使用反引号。

`type`

https://dev.mysql.com/doc/refman/5.5/en/keywords.html

如果这不能解决您的问题,请转到您的phpMyAdmin并直接在您的数据库上运行您的查询。如果语法有问题,它会告诉你。 (当然,您也可以运行错误检查并检查php中受影响的行 - 正如编码员通常那样)

毕竟,如果你仍然被卡住了,请对你的桌面结构进行导出。数据,并将该信息发布到您的问题中。