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 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值