-3
    <div id="wrapper">
            <div id="content">
        <form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post">
            <label>Title:</label>
          <input type="text" name="title" />
          <label for="body">Body:</label>
          <textarea name="body" cols=50 rows=10></textarea>
          <label>Category:</label>
          <select name="category">
             <?php 
             $db='';
                 $query = $db->query("SELECT * FROM categories");
                 while($row = $query->fetch_object())
                 {
                echo "<option value='".$row->category_id."'>".$row->category."</option>";
                 }
             ?>
          </select>
             <br/>
             <input type="submit" name="submit" value="Submit" />
         </form>
       </div>
        </div>

I'm getting error as

Fatal error: Call to a member function query() on string

I'm getting issue on this line

$query = $db->query("SELECT * FROM categories");

what is the issue in the code?

1 Answers1

1

You need to connect to database first. After that you should run the query. Try following code

<div id="wrapper">
            <div id="content">
        <form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post">
            <label>Title:</label>
          <input type="text" name="title" />
          <label for="body">Body:</label>
          <textarea name="body" cols=50 rows=10></textarea>
          <label>Category:</label>
          <select name="category">
             <?php 
                 $servername = "localhost";
                 $username = "username";
                 $password = "password";
                 $dbname = "your_database_name_here";

                 $conn = new mysqli($servername, $username, $password, $dbname);
                 $query = $conn->query("SELECT * FROM categories");
                 while($row = $query->fetch_object())
                 {
                echo "<option value='".$row->category_id."'>".$row->category."</option>";
                 }
             ?>
          </select>
             <br/>
             <input type="submit" name="submit" value="Submit" />
         </form>
       </div>
        </div>