doujiao1949 2017-02-04 19:25
浏览 28
已采纳

too long

I want to make this form get the id from the url suppose : http://localhost/x/y/index.php?id=1 and update the data in the article table, however i am getting the error: Fatal error: Call to a member function query() on boolean in http://localhost/x/y/index.php in line 38 which is the line highlighted in the code with ** at start and end.

  <?php
    include('db/db.php');
    $id = $_GET['id'];  
    $select_db = "SELECT * FROM article WHERE ID=$id";
    $run_news = mysql_query($select_db);
    while($row=mysql_fetch_array($run_news)){
        $post_id = $row['ID']; 
        $post_title = $row['title'];
        $post_date = $row ['date'];
        $post_author = $row['author'];
            $post_keywords = $row['keywords'];
        $post_image= $row['image'];
        $post_content = $row['content'];
    }
    ?>
    <form action="" method="post">
    <div>
    <p><strong>ID:</strong> <?php echo $id; ?> </p>
    <strong>Title: *</strong> <input type="text" name="title" value="<?php echo $post_title; ?>"/><br/>
    <strong>Author: *</strong> <input type="text" name="author" value="<?php echo $post_author; ?>"/><br/>
    <strong>Keywords: *</strong> <input type="text" name="keywords" value="<?php echo $post_keywords; ?>"/><br/>
    <strong>image: *</strong> <input type="text" name="image" value="<?php echo $post_image; ?>"/><br/>
    <strong>content: *</strong> <input type="text" name="content" value="<?php echo $post_content; ?>"/><br/>
    <input type="submit" name="update" value="Submit">
    </div>
    </form>
    <?php
    // Code for UPDATE button
    if (isset($_POST['update'])) {
    $id = $_GET['id'];
            $post_title = $_POST['title'];
            $post_author = $_POST['author'];
            $post_keywords = $_POST['keywords'];
            $post_image = $_POST['image'];
            $post_content = $_POST['content'];

    $sql = "UPDATE article SET title='$post_title',author='$post_author',keywords=$post_keywords,content='$post_content' WHERE ID='$id'";
    **$newdb = $con->query($sql,TRUE);**
    $q = $newdb->query("SELECT * FROM article");
    }
    ?>
  • 写回答

1条回答 默认 最新

  • duanlu1959 2017-02-04 19:34
    关注

    It should be like this:

    //$con->mysql_query($sql,TRUE); //execute the update query
    $result= mysql_query("SELECT * FROM article",$con); // get new updated table data
    

    The use mysql_query(), and the mysql_query need first parameter as your database connection

    Read http://php.net/manual/en/function.mysql-query.php

    Also, mysql_connect is deprecated, use mysqli or PDO, you should prepare and sanitize your input.

    See: mysql_query

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 GDI处理通道视频时总是带有白色锯齿
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)
  • ¥15 自适应 AR 模型 参数估计Matlab程序
  • ¥100 角动量包络面如何用MATLAB绘制
  • ¥15 merge函数占用内存过大
  • ¥15 Revit2020下载问题
  • ¥15 使用EMD去噪处理RML2016数据集时候的原理
  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大
  • ¥15 单片机无法进入HAL_TIM_PWM_PulseFinishedCallback回调函数