· 6 years ago · Nov 25, 2019, 07:14 AM
1function add_tables($dbname, $username, $password, $dummyno) {
2 try {
3 $conn1 = new PDO("mysql:host=$host", $username, $password);
4 $conn1->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
5 $sql = "DROP DATABASE IF EXISTS " . $dbname . ";";
6 $conn1->exec($sql);
7 $db = "CREATE DATABASE " . $dbname;
8 $usedb = "USE " . $dbname;
9 $conn1->exec($db);
10 $conn1->exec($usedb);
11 $table1 = "CREATE TABLE blog (
12 bid INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
13 title TEXT NOT NULL,
14 content TEXT NOT NULL,
15 date DATE NOT NULL)";
16 $conn1->exec($table1);
17 $table2 = "CREATE TABLE tag (
18 tid INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
19 tags varchar(100) NOT NULL UNIQUE)";
20 $conn1->exec($table2);
21 $table3 = "CREATE TABLE category (
22 cid INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
23 categories varchar(100) NOT NULL UNIQUE)";
24 $conn1->exec($table3);
25 $table4 = "CREATE TABLE relation (
26 blogid INT(11) NOT NULL,
27 tagid INT(11) NOT NULL,
28 categoryid INT(11) NOT NULL,
29 FOREIGN KEY (blogid) REFERENCES blog (bid),
30 FOREIGN KEY (tagid) REFERENCES tag (tid),
31 FOREIGN KEY (categoryid) REFERENCES category (cid))";
32 $conn1->exec($table4);
33 if (isset($_POST['dummyno'])) {
34 for ($k = 0; $k < number_format($dummyno); $k++) {
35 $dummycurrentdate = date("Y-m-d H:i:s");
36 $dummyt = gen(4);
37 $dummyb = gen(100);
38 $dummyta = gen(2);
39 $dummyc = gen(2);
40 $words = explode(" ", $dummyta);
41 $s = sizeof($words);
42 for($i = 0; $i < $s; $i++) {
43 $words[$i] = trim($words[$i]);
44 }
45 $words2 = explode(" ", $dummyc);
46 $s2 = sizeof($words2);
47 for($i = 0; $i < $s2; $i++) {
48 $words2[$i] = trim($words2[$i]);
49 }
50 $sql = "INSERT INTO blog (title, content, date) VALUES ('$dummyt', '$dummyb', '$dummycurrentdate')";
51 $conn1->exec($sql);
52 for ($i = 0; $i < $s; $i++) {
53 $resl = $conn1->query("SELECT tags FROM tag WHERE tags = '$words[$i]'");
54 $count = $resl->rowCount();
55 if ($count == 0) {
56 $tagsq="INSERT INTO tag (tags) VALUES('$words[$i]')";
57 $conn1->exec($tagsq);
58 }
59 $resl2 = $conn1->query("SELECT categories FROM category WHERE categories = '$words2[$i]'");
60 $count2 = $resl2->rowCount();
61 if ($count2 == 0) {
62 $tagsq2="INSERT INTO category (categories) VALUES('$words2[$i]')";
63 $conn1->exec($tagsq2);
64 }
65 $relquery = "INSERT INTO relation (blogid, tagid, categoryid)
66 SELECT bd.bid, tt.tid, cc.cid FROM blog bd
67 JOIN tag tt ON bd.title = '$dummyt' AND tt.tags = '$words[$i]'
68 JOIN category cc ON bd.title = '$dummyt' AND cc.categories = '$words2[$i]'";
69 $conn1->exec($relquery);
70 }
71 }
72 }
73 } catch(PDOException $e) {
74 echo "Connection failed: " . $e->getMessage();
75 }
76}