PDO插入查询将不起作用

时间:2014-02-09 18:09:25

标签: php pdo

我的PDO查询无效。这是我的页面:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="description" content="Rally is our passion">
    <meta name="author" content="Robin Rosiers">

    <title>Sponsors - RPR Admin</title>

    <?php require_once ('include/core.php'); ?>

    <!-- Bootstrap core CSS -->
    <link href="css/bootstrap.css" rel="stylesheet">
    <link rel="shortcut icon" href="./img/favicon.ico">

    <!-- Add custom CSS here -->
    <link href="css/sb-admin.css" rel="stylesheet">
    <link rel="stylesheet" href="font-awesome/css/font-awesome.min.css">
    <!-- Page Specific CSS -->
    <link rel="stylesheet" href="http://cdn.oesmith.co.uk/morris-0.4.3.min.css">
  </head>

  <body>

    <div id="wrapper">

      <!-- Sidebar -->
      <nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
        <!-- Brand and toggle get grouped for better mobile display -->
        <div class="navbar-header">
          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse">
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>
          <a class="navbar-brand" href="index.php" alt="Rallypodium & Reporting" title="Rallypodium & Reporting">RPR - Administration Panel</a>
        </div>

        <!-- Collect the nav links, forms, and other content for toggling -->
        <div class="collapse navbar-collapse navbar-ex1-collapse">
          <ul class="nav navbar-nav side-nav">
            <li><a href="home.php"><i class="fa fa-home"></i> Home</a></li>
            <li><a href="news.php"><i class="fa fa-list-alt"></i> Nieuws</a></li>
            <li><a href="fotos.php"><i class="fa fa-camera"></i> Foto's</a></li>
            <li><a href="pages.php"><i class="fa fa-edit"></i> Pagina's</a></li>
            <li><a href="editpages.php"><i class="fa fa-font"></i> Bewerk pagina's</a></li>
            <li><a href="meldingen.php"><i class="fa fa-desktop"></i> Melding(en)</a></li>
            <li class="active"><a href="sponsors.php"><i class="fa fa-money"></i> Sponsors</a></li>
            <li><a href="settings.php"><i class="fa fa-wrench"></i> Instellingen</a></li>
            <li><a href="accsettings.php"><i class="fa fa-pencil"></i> Account instellingen</a></li>
            <li><a href="addadmin.php"><i class="fa fa-check"></i> Administrator toevoegen</a></li>
          </ul>

          <ul class="nav navbar-nav navbar-right navbar-user">
            <li class="dropdown user-dropdown">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="fa fa-user"></i> {Gebruikersnaam} <b class="caret"></b></a>
              <ul class="dropdown-menu">
                <li><a href="accsettings.php"><i class="fa fa-gear"></i> Instellingen</a></li>
                <li class="divider"></li>
                <li><a href="#"><i class="fa fa-power-off"></i> Log uit</a></li>
              </ul>
            </li>
            </li>
          </ul>
        </div><!-- /.navbar-collapse -->
      </nav>

      <div id="page-wrapper">

        <div class="row">
          <div class="col-lg-12">
            <h1>Sponsors<small><br></small></h1>
            <ol class="breadcrumb">
              <li class="active"><i class="fa fa-money"></i> Sponsors</li>
            </ol>
          </div>
        </div><!-- /.row -->

        <div class="row">
          <div class="col-lg-12">
            <div class="panel panel-primary">
              <div class="panel-heading">
                <h3 class="panel-title"><i class="fa fa-plus"></i> Sponsor toevoegen</h3>
              </div>
              <div class="panel-body" style="max-height:600px; overflow:auto">
                 <!-- Content/script hier om een sponsor te adden. --> 
<?php

if($_SERVER['REQUEST_METHOD']=="POST") {
                 $naam = $db->quote($_POST['naam']);
                 $site = $db->quote($_POST['site']);
                 $img = $db->quote($_POST['img']);
                 $opbrengst = $db->quote($_POST['opbrengst']);
                 $duur = $db->quote($_POST['duur']);

                 $sql = " INSERT INTO sponsors (naam, site, img, opbrengst, duur) VALUES ('".$naam.", ".$site.", ".$img.", ".$opbrengst.", ".$duur."')";
                 }
?>

                 <center>

                  <form action="?ok" method="post">
                  Sponsor naam: <input name="naam" class="form-control" type="text" placeholder="Naam..." style="width:auto;"><br>
                  Site (url) <input name="site" class="form-control" type="text" placeholder="http://" style="width:auto;"><br>
                  Sponsor image (url) <input name="img" class="form-control" type="text" placeholder="vb http://i.imgur.com/" style="width:auto;"><br>
                  Opbrengst: &euro; <input name="opbrengst" class="form-control" type="text" placeholder="opbrengst" style="width:auto;"> /maand<br>

                  <div class="form-group">
                <label>Duur:</label>
                <select name="duur" class="form-control" style="width:auto;">
                  <option>1 maand</option>
                  <option>2 maanden</option>
                  <option>3 maanden</option>
                  <option>4 maanden</option>
                  <option>5 maanden</option>
                  <option>6 maanden</option>
                  <option>7 maanden</option>
                  <option>8 maanden</option>
                  <option>9 maanden</option>
                  <option>10 maanden</option>
                  <option>11 maanden</option>
                  <option>1 jaar</option>
                </select>
              </div>

                  <button type="submit" class="btn">Opslaan</button>
                  </form>

                 </center>              

              </div>
            </div>
          </div>
        </div><!-- /.row -->

        <div class="row">
          <div class="col-lg-12">
            <div class="panel panel-primary">
              <div class="panel-heading">
                <h3 class="panel-title"><i class="fa fa-list"></i> Sponsor lijst</h3>
              </div>
              <div class="panel-body">



                <?php

                $sql = "SELECT * FROM sponsors ORDER BY id";
                $results = $db->query($sql);

                foreach($results as $row)
                {
                    echo '<div class="alert alert-info">';
                    echo '<button type="button" class="close" data-dismiss="alert" aria-hidden="true" alt="verwijder de sponsor." title="verwijder de sponsor.">&times;</button>';
                    echo '<p>Naam: ';
                    echo $row['naam'];
                    echo ' <i class="fa fa-tag"></i> </p>';
                    echo '<p>Opbrengst: ';
                    echo $row['opbrengst'];
                    echo ' <i class="fa fa-money"></i> </p>';
                    echo '</div>';
                }

                ?>


              </div>

              </div>
            </div>
          </div>
        </div><!-- /.row -->

      </div><!-- /#page-wrapper -->

    </div><!-- /#wrapper -->

    <!-- JavaScript -->
    <script src="js/jquery-1.10.2.js"></script>
    <script src="js/bootstrap.js"></script>

    <!-- Page Specific Plugins -->
    <script src="//cdnjs.cloudflare.com/ajax/libs/raphael/2.1.0/raphael-min.js"></script>
    <script src="http://cdn.oesmith.co.uk/morris-0.4.3.min.js"></script>
    <script src="js/morris/chart-data-morris.js"></script>
    <script src="js/tablesorter/jquery.tablesorter.js"></script>
    <script src="js/tablesorter/tables.js"></script>

  </body>
</html>

非常有线。选择代码工作正常,但插入查询没有。怎么了?

2 个答案:

答案 0 :(得分:0)

你需要告诉PDO上升错误

setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
之后,您可以轻松捕捉到您的问题。我希望

答案 1 :(得分:0)

您已将INSERT查询字符串分配给var,但未在其上执行$db->query($sql);

$sql = " INSERT INTO sponsors (naam, site, img, opbrengst, duur) VALUES ('".$naam.", ".$site.", ".$img.", ".$opbrengst.", ".$duur."')";

添加

$db->query($sql);