WordPress/MySQLi CRUD
WordPress MySQLi CRUD example
Soul-Learner
2015. 12. 25. 00:57
PHP, MySQLi CRUD example
<?php function log_d($tag, $msg) { $file = fopen('my-debug.log','a'); fwrite($file, $tag.':'.$msg."\r\n"); fclose($file); } function conn() { $host = "localhost"; $user = "root"; $pw = "autoset"; $db = "wordpress"; // Create connection $conn = new mysqli($host, $user, $pw, $db); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } return $conn; } function create_table() { $conn = conn(); // sql to create table $sql = "CREATE TABLE MyGuests ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, firstname VARCHAR(30) NOT NULL, lastname VARCHAR(30) NOT NULL, email VARCHAR(50), reg_date TIMESTAMP )"; if ($conn->query($sql) === TRUE) { log_d('테이블 생성', "Table MyGuests created successfully"); } else { log_d('오류', "Error creating table: " . $conn->error); } $conn->close(); } function insert(){ $conn = conn(); $sql = "INSERT INTO MyGuests (firstname, lastname, email) VALUES ('John', 'Doe', 'john@example.com')"; if ($conn->query($sql) === TRUE) { $last_id = $conn->insert_id; log_d('레코드 추가', "New record created successfully. Last inserted ID is: " . $last_id); } else { log_d('추가 오류', "Error: " . $sql . "<br>" . $conn->error); } $conn->close(); } function insert_multiple(){ $conn = conn(); $sql = "INSERT INTO MyGuests (firstname, lastname, email) VALUES ('John', 'Doe', 'john@example.com');"; $sql .= "INSERT INTO MyGuests (firstname, lastname, email) VALUES ('Mary', 'Moe', 'mary@example.com');"; $sql .= "INSERT INTO MyGuests (firstname, lastname, email) VALUES ('Julie', 'Dooley', 'julie@example.com')"; if ($conn->multi_query($sql) === TRUE) { log_d('다중 레코드 추가', "New record created successfully."); } else { log_d('다중 추가 오류', "Error: " . $sql . "\r\n" . $conn->error); } $conn->close(); } function prepare() { $conn = conn(); // prepare and bind $stmt = $conn->prepare("INSERT INTO MyGuests (firstname, lastname, email) VALUES (?, ?, ?)"); $stmt->bind_param("sss", $firstname, $lastname, $email); // i:integer, s:string, d:double, b:blob // set parameters and execute $firstname = "John"; $lastname = "Doe"; $email = "john@example.com"; $stmt->execute(); $firstname = "Mary"; $lastname = "Moe"; $email = "mary@example.com"; $stmt->execute(); $firstname = "Julie"; $lastname = "Dooley"; $email = "julie@example.com"; $stmt->execute(); log_d('레코드 추가(prepare)', "New records created successfully"); $stmt->close(); $conn->close(); } function select(){ $conn = conn(); $sql = "SELECT id, firstname, lastname FROM MyGuests"; $result = $conn->query($sql); if ($result->num_rows > 0) { // output data of each row while($row = $result->fetch_assoc()) { log_d('select', "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "\r\n"); } } else { log_d('select', "0 results"); } $conn->close(); } function update() { $conn = conn(); $sql = "UPDATE MyGuests SET lastname='Doe' WHERE id=5"; if ($conn->query($sql) === TRUE) { log_d('update', "Record updated successfully"); } else { log_d('update', "Error updating record: " . $conn->error); } $conn->close(); } function delete() { $conn = conn(); // sql to delete a record $sql = "DELETE FROM MyGuests WHERE id=4"; if ($conn->query($sql) === TRUE) { log_d('delete', "Record deleted successfully"); } else { log_d('delete', "Error deleting record: " . $conn->error); } $conn->close(); } /* $sql = "SELECT * FROM Orders LIMIT 30"; $sql = "SELECT * FROM Orders LIMIT 10 OFFSET 15"; $sql = "SELECT * FROM Orders LIMIT 15, 10";//위 문장과 동일한 결과 */ //create_table(); //insert_multiple(); //prepare(); //select(); //update(); delete(); ?>