I'm trying to create a website that filters out suburbs using data from 4 different SQL tables (dictionary is attached)
However, this error message keeps popping up;
sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current statement uses 0, and there are 1 supplied.)
How can I fix this?
Python code:
from flask import Flask, render_template, request
import sqlite3
app = Flask(__name__)
@app.route('/')
def home():
    return render_template('home.html')
@app.route('/result', methods=['POST'])
def result():
    
    parks = request.form.get('parks')
    wifi = request.form.get('wifi')
    libraries = request.form.get('libraries')
    schools = request.form.get('schools')
    conn = sqlite3.connect('suburb.db')
    c = conn.cursor()
    c.execute("SELECT suburb FROM park WHERE EXISTS (SELECT suburb FROM library WHERE library.suburb =park.SUBURB ) =?", (parks,))
    park_subs = [row[0] for row in c.fetchall()]
    c.execute("SELECT suburb FROM wifi WHERE EXISTS (SELECT suburb FROM library WHERE library.suburb =wifi.suburb)", (wifi,))
    wifi_subs = [row[0] for row in c.fetchall()]
    c.execute("SELECT suburb FROM library", (libraries,))
    library_subs = [row[0] for row in c.fetchall()]
    c.execute("SELECT suburb FROM school WHERE EXISTS (SELECT suburb FROM library WHERE library.suburb =school.suburb)?", (schools,))
    school_subs = [row[0] for row in c.fetchall()]
    conn.close()
    
    
    
    result_subs = set(park_subs) & set(wifi_subs) & set(library_subs) & set(school_subs)
    return render_template('result.html', subs=result_subs)
if __name__ == '__main__':
    app.run
HTML:
<!DOCTYPE html>
<html>
<head>
    <title>Real Estate Filtering Website</title>
    <link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
    <h1>Real Estate Filtering Website</h1>
    <form method="POST" action="{{ url_for('result') }}">
        <h2>Filter by:</h2>
        <div class="filter">
            <input type="checkbox" name="parks" id="parks" value="yes">
            <label for="parks">Parks</label>
        </div>
        <div class="filter">
            <input type="checkbox" name="wifi" id="wifi" value="yes">
            <label for="wifi">Wifi Hotspots</label>
        </div>
        <div class="filter">
            <input type="checkbox" name="libraries" id="libraries" value="yes">
            <label for="libraries">Libraries</label>
        </div>
        <div class="filter">
            <input type="checkbox" name="schools" id="schools" value="yes">
            <label for="schools">Schools</label>
        </div>
        <input type="submit" value="Filter">
    </form>
    <div style="overflow-x:auto;">
        <table>
          <tr>
            <th>Suburb ID</th>
            <th>Suburb</th>
            <th> 
              {% for record in records %}  <!-- record is the list created from the python code. The for loop iterates through each record (row) -->
              <tr>
              {% for value in record %}    <!-- loop iterates through each value in the record list and generates a table cell for each peice of data -->
                  <td>{{ value }}</td>
              {% endfor %}
              </tr>
              {% endfor %}
              </table>
              </div>
</body>
</html>
I've tried completely reprogramming it but, have had difficulties making an alternative system
 
     
     
    