I'm trying to use PDO to insert data into my database but I'm getting the error "0 results". I already used PDO to select data from my database but this is the first time I use it to insert data so any help with the below code would be appreciated!
My form:
- <html>
- <body>
-
- <form name="blog post" action="insert.php" method="post">
-
- <label for "id">Id: </label>
- <input type="text" name="id">
- <br>
- <label for "title">Title: </label>
- <input type="text" name="title">
- <br>
- <label for "year">Year: </label>
- <input type="text" name="year">
- <br>
- <label for "text">Text: </label>
- <textarea rows="10" cols="50" name="text"></textarea>
- <br>
- <button type="submit">Submit</button>
- </form>
-
- </body>
- </html>
My insert.php code:
- <?php
-
- $pdo = new PDO('mysql:host=localhost;dbname=dbexample', 'userexample', 'paswexample', array(\PDO::MYSQL_ATTR_INIT_COMMAND =>"SET NAMES utf8;SET time_zone = 'Europe/London'"));
-
- $sql = "INSERT INTO `tableexample` (id, title, year, text)
- VALUES (:id, :title, :year, :text)";
- $stmt = $pdo->prepare($sql);
- $stmt->bindParam(":id", $id);
- $stmt->bindParam(":title", $title);
- $stmt->bindParam(":year", $year);
- $stmt->bindParam(":text", $text);
-
- $form = $_POST;
- $id = $form[ 'id' ];
- $title= $form[ 'title' ];
- $year= $form[ 'year' ];
- $text= $form[ 'text' ];
-
-
- $stmt->execute();
-
- $result = $stmt->execute(array(':id'=>$id, ':title'=>$title, ':year'=>$year, ':text'=>$text));
-
- if($result) {
- echo "Your text has been posted";
-
- }// end if
- else {
- echo '0 results';
- }// end else
-
- ?>