· 8 years ago · Jun 01, 2018, 05:20 AM
1date_default_timezone_set("America/Los_Angeles");
2$time = date("y-m-d H:i:s");
3
4//$name = $_POST["name"];
5$name = "bulbasaur";
6$lcname = strtolower($name);
7if(empty($_POST["nickname"])) {
8 $nickname = strtoupper($name);
9} else {
10 $nickname = $_POST["nickname"];
11}
12
13
14
15//Connect SQL & PHP
16$host = getenv('IP');
17$user = getenv('C9_USER');
18$password = "";
19$dbname = "hw7";
20
21// Create connection
22$ds = "mysql:host={$host};dbname={$dbname};charset=utf8";
23
24// Make connection
25try {
26 $db = new PDO($ds, $user, $password);
27 $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
28}
29catch(PDOException $ex) {
30 header("Content-Type: text/plain");
31 echo "Can not connect to the database. Please try again later. n";
32 echo "Error details: $ex n";
33 die();
34}
35
36//check duplicates
37$subsql = "SELECT name FROM Pokedex WHERE name = {$name})";
38try {
39$dupe = $db->prepare($subsql);
40$param = array("name" => $name);
41$dupe->execute($param);
42}
43catch(PDOException $ex) {
44 die($ex->getMessage()."n");
45}
46if($dupe-> rowCount() > 0) {
47 echo "fail";
48} else {
49 $sql = "INSERT INTO Pokedex(name, nickname, datefound)
50 VALUES (:name, :nickname, :datefound);";
51 try{
52 $stmt = $db->prepare($sql);
53 $params = array(":name" => $lcname,
54 ":nickname" => $nickname,
55 ":datefound" => $time);
56 $stmt->execute($params);
57 }
58 catch(PDOException $ex) {
59 die($ex->getMessage());
60 }
61}
62
63SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1
64
65DROP TABLE IF EXISTS Pokedex;
66CREATE TABLE Pokedex(
67 name VARCHAR(30) PRIMARY KEY,
68 nickname VARCHAR(30),
69 datefound DATETIME
70);
71
72INSERT INTO Pokedex(name,nickname,datefound) VALUES
73("Pikachu","Pika","2018-01-03 12:23:44");