{"id":12259,"date":"2023-01-27T08:23:04","date_gmt":"2023-01-27T08:23:04","guid":{"rendered":"https:\/\/www.webhozz.com\/blog\/?p=12259"},"modified":"2023-05-09T07:42:36","modified_gmt":"2023-05-09T07:42:36","slug":"php-mysql-crud-application","status":"publish","type":"post","link":"https:\/\/www.webhozz.com\/blog\/php-mysql-crud-application\/","title":{"rendered":"PHP MySQL : CRUD Application"},"content":{"rendered":"\n<h5 class=\"wp-block-heading\">Mengenal CRUD<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">CRUD adalah akronim untuk&nbsp;<strong>C<\/strong>reate,&nbsp;<strong>R<\/strong>ead,&nbsp;<strong>U<\/strong>date, dan&nbsp;<strong>D<\/strong>elete. Operasi CRUD adalah manipulasi data dasar untuk basis data. Kita telah belajar bagaimana melakukan create (mis. Insert), read (mis. Select), update dan delete operasi di bab-bab sebelumnya. Dalam tutorial ini kita akan membuat aplikasi PHP sederhana untuk melakukan semua operasi ini pada tabel database MySQL di satu tempat.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Baiklah, mari kita mulai dengan membuat tabel yang akan kita gunakan dalam semua contoh kita.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Membuat Tabel Database<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">Jalankan query SQL berikut untuk membuat tabel bernama&nbsp;<em>employees<\/em>&nbsp;di dalam database MySQL kalian. Kita akan menggunakan tabel ini untuk semua operasi kita di masa depan.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: php; title: ; notranslate\" title=\"\">\nCREATE TABLE employees (\n    id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,\n    name VARCHAR(100) NOT NULL,\n    address VARCHAR(255) NOT NULL,\n    salary INT(10) NOT NULL\n);\n<\/pre><\/div>\n\n\n<h5 class=\"wp-block-heading\">Membuat File Config<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">Setelah membuat tabel, kita perlu membuat skrip PHP untuk dapat terhubung ke server database MySQL. Mari kita membuat file bernama \u201c<strong><em>config.php<\/em><\/strong>\u201d dan memasukkan kode berikut di dalamnya.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nanti kita akan menyertakan file konfigurasi ini di halaman lain menggunakan fungsi PHP&nbsp;<strong><em>require_once().<\/em><\/strong><\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: php; title: ; notranslate\" title=\"\">\n&lt;?php\n\/* Database credentials. Assuming you are running MySQL\nserver with default setting (user &#039;root&#039; with no password) *\/\ndefine(&#039;DB_SERVER&#039;, &#039;localhost&#039;);\ndefine(&#039;DB_USERNAME&#039;, &#039;root&#039;);\ndefine(&#039;DB_PASSWORD&#039;, &#039;&#039;);\ndefine(&#039;DB_NAME&#039;, &#039;demo&#039;);\n  \n\/* Attempt to connect to MySQL database *\/\n$link = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME);\n  \n\/\/ Check connection\nif($link === false){\n    die(&quot;ERROR: Could not connect. &quot; . mysqli_connect_error());\n}\n?&gt;\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">Jika kalian telah mengunduh contoh kode berorientasi objek atau PDO menggunakan tombol unduh, harap hapus teks \u201c<strong><em>-oo-format<\/em><\/strong>\u201d atau \u201c<strong><em>-pdo-format<\/em><\/strong>\u201d dari nama file sebelum menguji kode tersebut.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><em>Catatan<\/em><\/strong>: Ganti kredensial sesuai dengan pengaturan server MySQL kalian sebelum menguji kode ini, misalnya, ganti nama basis data \u2018<em>demo<\/em>\u2018 dengan nama basis data kalian sendiri, ganti nama pengguna \u2018<em>root<\/em>\u2018 dengan nama pengguna basis data kalian sendiri, tentukan kata sandi basis data jika ada.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Membuat Landing Page<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">Pertama kita akan membuat landing page untuk aplikasi CRUD kita yang berisi grid data yang menunjukkan catatan dari tabel database karyawan. Itu juga memiliki ikon action untuk setiap catatan yang ditampilkan di grid, yang dimana kalian dapat memilih untuk melihat rinciannya, memperbaruinya, atau menghapusnya.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Kita juga akan menambahkan tombol create di bagian atas grid data yang dapat digunakan untuk membuat catatan baru di tabel karyawan. Buat file bernama \u201c<em>index.php<\/em>\u201d dan masukkan kode berikut di dalamnya:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: php; title: ; notranslate\" title=\"\">\n&lt;!DOCTYPE html&gt;\n&lt;html lang=&quot;en&quot;&gt;\n&lt;head&gt;\n    &lt;meta charset=&quot;UTF-8&quot;&gt;\n    &lt;title&gt;Dashboard&lt;\/title&gt;\n    &lt;link rel=&quot;stylesheet&quot; href=&quot;https:\/\/maxcdn.bootstrapcdn.com\/bootstrap\/3.3.7\/css\/bootstrap.css&quot;&gt;\n    &lt;script src=&quot;https:\/\/ajax.googleapis.com\/ajax\/libs\/jquery\/1.12.4\/jquery.min.js&quot;&gt;&lt;\/script&gt;\n    &lt;script src=&quot;https:\/\/maxcdn.bootstrapcdn.com\/bootstrap\/3.3.7\/js\/bootstrap.js&quot;&gt;&lt;\/script&gt;\n    &lt;style type=&quot;text\/css&quot;&gt;\n        .wrapper{\n            width: 650px;\n            margin: 0 auto;\n        }\n        .page-header h2{\n            margin-top: 0;\n        }\n        table tr td:last-child a{\n            margin-right: 15px;\n        }\n    &lt;\/style&gt;\n    &lt;script type=&quot;text\/javascript&quot;&gt;\n        $(document).ready(function(){\n            $(&#039;&#x5B;data-toggle=&quot;tooltip&quot;]&#039;).tooltip();   \n        });\n    &lt;\/script&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n    &lt;div class=&quot;wrapper&quot;&gt;\n        &lt;div class=&quot;container-fluid&quot;&gt;\n            &lt;div class=&quot;row&quot;&gt;\n                &lt;div class=&quot;col-md-12&quot;&gt;\n                    &lt;div class=&quot;page-header clearfix&quot;&gt;\n                        &lt;h2 class=&quot;pull-left&quot;&gt;Employees Details&lt;\/h2&gt;\n                        &lt;a href=&quot;create.php&quot; class=&quot;btn btn-success pull-right&quot;&gt;Add New Employee&lt;\/a&gt;\n                    &lt;\/div&gt;\n                    &lt;?php\n                    \/\/ Include config file\n                    require_once &quot;config.php&quot;;\n                     \n                    \/\/ Attempt select query execution\n                    $sql = &quot;SELECT * FROM employees&quot;;\n                    if($result = mysqli_query($link, $sql)){\n                        if(mysqli_num_rows($result) &gt; 0){\n                            echo &quot;&lt;table class=&#039;table table-bordered table-striped&#039;&gt;&quot;;\n                                echo &quot;&lt;thead&gt;&quot;;\n                                    echo &quot;&lt;tr&gt;&quot;;\n                                        echo &quot;&lt;th&gt;#&lt;\/th&gt;&quot;;\n                                        echo &quot;&lt;th&gt;Name&lt;\/th&gt;&quot;;\n                                        echo &quot;&lt;th&gt;Address&lt;\/th&gt;&quot;;\n                                        echo &quot;&lt;th&gt;Salary&lt;\/th&gt;&quot;;\n                                        echo &quot;&lt;th&gt;Action&lt;\/th&gt;&quot;;\n                                    echo &quot;&lt;\/tr&gt;&quot;;\n                                echo &quot;&lt;\/thead&gt;&quot;;\n                                echo &quot;&lt;tbody&gt;&quot;;\n                                while($row = mysqli_fetch_array($result)){\n                                    echo &quot;&lt;tr&gt;&quot;;\n                                        echo &quot;&lt;td&gt;&quot; . $row&#x5B;&#039;id&#039;] . &quot;&lt;\/td&gt;&quot;;\n                                        echo &quot;&lt;td&gt;&quot; . $row&#x5B;&#039;name&#039;] . &quot;&lt;\/td&gt;&quot;;\n                                        echo &quot;&lt;td&gt;&quot; . $row&#x5B;&#039;address&#039;] . &quot;&lt;\/td&gt;&quot;;\n                                        echo &quot;&lt;td&gt;&quot; . $row&#x5B;&#039;salary&#039;] . &quot;&lt;\/td&gt;&quot;;\n                                        echo &quot;&lt;td&gt;&quot;;\n                                            echo &quot;&lt;a href=&#039;read.php?id=&quot;. $row&#x5B;&#039;id&#039;] .&quot;&#039; title=&#039;View Record&#039; data-toggle=&#039;tooltip&#039;&gt;&lt;span class=&#039;glyphicon glyphicon-eye-open&#039;&gt;&lt;\/span&gt;&lt;\/a&gt;&quot;;\n                                            echo &quot;&lt;a href=&#039;update.php?id=&quot;. $row&#x5B;&#039;id&#039;] .&quot;&#039; title=&#039;Update Record&#039; data-toggle=&#039;tooltip&#039;&gt;&lt;span class=&#039;glyphicon glyphicon-pencil&#039;&gt;&lt;\/span&gt;&lt;\/a&gt;&quot;;\n                                            echo &quot;&lt;a href=&#039;delete.php?id=&quot;. $row&#x5B;&#039;id&#039;] .&quot;&#039; title=&#039;Delete Record&#039; data-toggle=&#039;tooltip&#039;&gt;&lt;span class=&#039;glyphicon glyphicon-trash&#039;&gt;&lt;\/span&gt;&lt;\/a&gt;&quot;;\n                                        echo &quot;&lt;\/td&gt;&quot;;\n                                    echo &quot;&lt;\/tr&gt;&quot;;\n                                }\n                                echo &quot;&lt;\/tbody&gt;&quot;;                            \n                            echo &quot;&lt;\/table&gt;&quot;;\n                            \/\/ Free result set\n                            mysqli_free_result($result);\n                        } else{\n                            echo &quot;&lt;p class=&#039;lead&#039;&gt;&lt;em&gt;No records were found.&lt;\/em&gt;&lt;\/p&gt;&quot;;\n                        }\n                    } else{\n                        echo &quot;ERROR: Could not able to execute $sql. &quot; . mysqli_error($link);\n                    }\n  \n                    \/\/ Close connection\n                    mysqli_close($link);\n                    ?&gt;\n                &lt;\/div&gt;\n            &lt;\/div&gt;        \n        &lt;\/div&gt;\n    &lt;\/div&gt;\n&lt;\/body&gt;\n&lt;\/html&gt;\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">Setelah tabel&nbsp;<em>employees&nbsp;<\/em>diisi dengan beberapa catatan landing page yaitu seperti contohnya grid data CRUD mungkin akan terlihat seperti yang ditunjukkan di bawah ini:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.webhozz.com\/code\/wp-content\/uploads\/2019\/09\/php-mysql-crud-grid.png\" alt=\"\" class=\"wp-image-548\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><em>Tips<\/em><\/strong>: Kita telah menggunakan framework Bootstrap untuk membuat layout aplikasi CRUD ini dengan cepat dan indah. Bootstrap adalah framework front-end yang paling populer dan powerful untuk pengembangan web yang lebih cepat dan lebih responsif. Silakan, cek bagian tutorial Bootstrap untuk mempelajari lebih lanjut tentang framework ini.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Membuat Create Page<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">Di bagian ini kita akan membangun fungsi&nbsp;<strong>C<\/strong>reate pada aplikasi CRUD kita.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mari kita buat file bernama \u201c<strong><em>create.php<\/em><\/strong>\u201d dan letakkan kode berikut di dalamnya. Ini akan menghasilkan form web yang dapat digunakan untuk menyisipkan catatan di tabel&nbsp;<em>employees<\/em>.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: php; title: ; notranslate\" title=\"\">\n&lt;?php\n\/\/ Include config file\nrequire_once &quot;config.php&quot;;\n  \n\/\/ Define variables and initialize with empty values\n$name = $address = $salary = &quot;&quot;;\n$name_err = $address_err = $salary_err = &quot;&quot;;\n  \n\/\/ Processing form data when form is submitted\nif($_SERVER&#x5B;&quot;REQUEST_METHOD&quot;] == &quot;POST&quot;){\n    \/\/ Validate name\n    $input_name = trim($_POST&#x5B;&quot;name&quot;]);\n    if(empty($input_name)){\n        $name_err = &quot;Please enter a name.&quot;;\n    } elseif(!filter_var($input_name, FILTER_VALIDATE_REGEXP, array(&quot;options&quot;=&gt;array(&quot;regexp&quot;=&gt;&quot;\/^&#x5B;a-zA-Z\\s]+$\/&quot;)))){\n        $name_err = &quot;Please enter a valid name.&quot;;\n    } else{\n        $name = $input_name;\n    }\n     \n    \/\/ Validate address\n    $input_address = trim($_POST&#x5B;&quot;address&quot;]);\n    if(empty($input_address)){\n        $address_err = &quot;Please enter an address.&quot;;     \n    } else{\n        $address = $input_address;\n    }\n     \n    \/\/ Validate salary\n    $input_salary = trim($_POST&#x5B;&quot;salary&quot;]);\n    if(empty($input_salary)){\n        $salary_err = &quot;Please enter the salary amount.&quot;;     \n    } elseif(!ctype_digit($input_salary)){\n        $salary_err = &quot;Please enter a positive integer value.&quot;;\n    } else{\n        $salary = $input_salary;\n    }\n     \n    \/\/ Check input errors before inserting in database\n    if(empty($name_err) &amp;&amp; empty($address_err) &amp;&amp; empty($salary_err)){\n        \/\/ Prepare an insert statement\n        $sql = &quot;INSERT INTO employees (name, address, salary) VALUES (?, ?, ?)&quot;;\n          \n        if($stmt = mysqli_prepare($link, $sql)){\n            \/\/ Bind variables to the prepared statement as parameters\n            mysqli_stmt_bind_param($stmt, &quot;sss&quot;, $param_name, $param_address, $param_salary);\n             \n            \/\/ Set parameters\n            $param_name = $name;\n            $param_address = $address;\n            $param_salary = $salary;\n             \n            \/\/ Attempt to execute the prepared statement\n            if(mysqli_stmt_execute($stmt)){\n                \/\/ Records created successfully. Redirect to landing page\n                header(&quot;location: index.php&quot;);\n                exit();\n            } else{\n                echo &quot;Something went wrong. Please try again later.&quot;;\n            }\n        }\n          \n        \/\/ Close statement\n        mysqli_stmt_close($stmt);\n    }\n     \n    \/\/ Close connection\n    mysqli_close($link);\n}\n?&gt;\n  \n&lt;!DOCTYPE html&gt;\n&lt;html lang=&quot;en&quot;&gt;\n&lt;head&gt;\n    &lt;meta charset=&quot;UTF-8&quot;&gt;\n    &lt;title&gt;Create Record&lt;\/title&gt;\n    &lt;link rel=&quot;stylesheet&quot; href=&quot;https:\/\/maxcdn.bootstrapcdn.com\/bootstrap\/3.3.7\/css\/bootstrap.css&quot;&gt;\n    &lt;style type=&quot;text\/css&quot;&gt;\n        .wrapper{\n            width: 500px;\n            margin: 0 auto;\n        }\n    &lt;\/style&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n    &lt;div class=&quot;wrapper&quot;&gt;\n        &lt;div class=&quot;container-fluid&quot;&gt;\n            &lt;div class=&quot;row&quot;&gt;\n                &lt;div class=&quot;col-md-12&quot;&gt;\n                    &lt;div class=&quot;page-header&quot;&gt;\n                        &lt;h2&gt;Create Record&lt;\/h2&gt;\n                    &lt;\/div&gt;\n                    &lt;p&gt;Please fill this form and submit to add employee record to the database.&lt;\/p&gt;\n                    &lt;form action=&quot;&lt;?php echo htmlspecialchars($_SERVER&#x5B;&quot;PHP_SELF&quot;]); ?&gt;&quot; method=&quot;post&quot;&gt;\n                        &lt;div class=&quot;form-group &lt;?php echo (!empty($name_err)) ? &#039;has-error&#039; : &#039;&#039;; ?&gt;&quot;&gt;\n                            &lt;label&gt;Name&lt;\/label&gt;\n                            &lt;input type=&quot;text&quot; name=&quot;name&quot; class=&quot;form-control&quot; value=&quot;&lt;?php echo $name; ?&gt;&quot;&gt;\n                            &lt;span class=&quot;help-block&quot;&gt;&lt;?php echo $name_err;?&gt;&lt;\/span&gt;\n                        &lt;\/div&gt;\n                        &lt;div class=&quot;form-group &lt;?php echo (!empty($address_err)) ? &#039;has-error&#039; : &#039;&#039;; ?&gt;&quot;&gt;\n                            &lt;label&gt;Address&lt;\/label&gt;\n                            &lt;textarea name=&quot;address&quot; class=&quot;form-control&quot;&gt;&lt;?php echo $address; ?&gt;&lt;\/textarea&gt;\n                            &lt;span class=&quot;help-block&quot;&gt;&lt;?php echo $address_err;?&gt;&lt;\/span&gt;\n                        &lt;\/div&gt;\n                        &lt;div class=&quot;form-group &lt;?php echo (!empty($salary_err)) ? &#039;has-error&#039; : &#039;&#039;; ?&gt;&quot;&gt;\n                            &lt;label&gt;Salary&lt;\/label&gt;\n                            &lt;input type=&quot;text&quot; name=&quot;salary&quot; class=&quot;form-control&quot; value=&quot;&lt;?php echo $salary; ?&gt;&quot;&gt;\n                            &lt;span class=&quot;help-block&quot;&gt;&lt;?php echo $salary_err;?&gt;&lt;\/span&gt;\n                        &lt;\/div&gt;\n                        &lt;input type=&quot;submit&quot; class=&quot;btn btn-primary&quot; value=&quot;Submit&quot;&gt;\n                        &lt;a href=&quot;index.php&quot; class=&quot;btn btn-default&quot;&gt;Cancel&lt;\/a&gt;\n                    &lt;\/form&gt;\n                &lt;\/div&gt;\n            &lt;\/div&gt;        \n        &lt;\/div&gt;\n    &lt;\/div&gt;\n&lt;\/body&gt;\n&lt;\/html&gt;\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">File \u201c<strong><em>create.php<\/em><\/strong>\u201d yang sama akan menampilkan form HTML dan memproses data form yang dikirimkan (submitted). Ini juga akan melakukan validasi dasar pada input pengguna (baris no-11 hingga 37) sebelum menyimpan data.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Membuat Read Page<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">Sekarang saatnya untuk membangun fungsi&nbsp;<strong>R<\/strong>ead dari aplikasi CRUD kita.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mari kita buat file bernama \u201c<strong><em>create.php<\/em><\/strong>\u201d dan letakkan kode berikut di dalamnya. Hal tersebut hanya akan mengambil catatan dari tabel&nbsp;<em>employees<\/em>&nbsp;berdasarkan atribut&nbsp;<strong><em>id<\/em><\/strong>&nbsp;karyawan.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: php; title: ; notranslate\" title=\"\">\n&lt;?php\n\/\/ Check existence of id parameter before processing further\nif(isset($_GET&#x5B;&quot;id&quot;]) &amp;&amp; !empty(trim($_GET&#x5B;&quot;id&quot;]))){\n    \/\/ Include config file\n    require_once &quot;config.php&quot;;\n     \n    \/\/ Prepare a select statement\n    $sql = &quot;SELECT * FROM employees WHERE id = ?&quot;;\n     \n    if($stmt = mysqli_prepare($link, $sql)){\n        \/\/ Bind variables to the prepared statement as parameters\n        mysqli_stmt_bind_param($stmt, &quot;i&quot;, $param_id);\n         \n        \/\/ Set parameters\n        $param_id = trim($_GET&#x5B;&quot;id&quot;]);\n         \n        \/\/ Attempt to execute the prepared statement\n        if(mysqli_stmt_execute($stmt)){\n            $result = mysqli_stmt_get_result($stmt);\n     \n            if(mysqli_num_rows($result) == 1){\n                \/* Fetch result row as an associative array. Since the result set contains only one row, we don&#039;t need to use while loop *\/\n                $row = mysqli_fetch_array($result, MYSQLI_ASSOC);\n                 \n                \/\/ Retrieve individual field value\n                $name = $row&#x5B;&quot;name&quot;];\n                $address = $row&#x5B;&quot;address&quot;];\n                $salary = $row&#x5B;&quot;salary&quot;];\n            } else{\n                \/\/ URL doesn&#039;t contain valid id parameter. Redirect to error page\n                header(&quot;location: error.php&quot;);\n                exit();\n            }\n             \n        } else{\n            echo &quot;Oops! Something went wrong. Please try again later.&quot;;\n        }\n    }\n      \n    \/\/ Close statement\n    mysqli_stmt_close($stmt);\n     \n    \/\/ Close connection\n    mysqli_close($link);\n} else{\n    \/\/ URL doesn&#039;t contain id parameter. Redirect to error page\n    header(&quot;location: error.php&quot;);\n    exit();\n}\n?&gt;\n&lt;!DOCTYPE html&gt;\n&lt;html lang=&quot;en&quot;&gt;\n&lt;head&gt;\n    &lt;meta charset=&quot;UTF-8&quot;&gt;\n    &lt;title&gt;View Record&lt;\/title&gt;\n    &lt;link rel=&quot;stylesheet&quot; href=&quot;https:\/\/maxcdn.bootstrapcdn.com\/bootstrap\/3.3.7\/css\/bootstrap.css&quot;&gt;\n    &lt;style type=&quot;text\/css&quot;&gt;\n        .wrapper{\n            width: 500px;\n            margin: 0 auto;\n        }\n    &lt;\/style&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n    &lt;div class=&quot;wrapper&quot;&gt;\n        &lt;div class=&quot;container-fluid&quot;&gt;\n            &lt;div class=&quot;row&quot;&gt;\n                &lt;div class=&quot;col-md-12&quot;&gt;\n                    &lt;div class=&quot;page-header&quot;&gt;\n                        &lt;h1&gt;View Record&lt;\/h1&gt;\n                    &lt;\/div&gt;\n                    &lt;div class=&quot;form-group&quot;&gt;\n                        &lt;label&gt;Name&lt;\/label&gt;\n                        &lt;p class=&quot;form-control-static&quot;&gt;&lt;?php echo $row&#x5B;&quot;name&quot;]; ?&gt;&lt;\/p&gt;\n                    &lt;\/div&gt;\n                    &lt;div class=&quot;form-group&quot;&gt;\n                        &lt;label&gt;Address&lt;\/label&gt;\n                        &lt;p class=&quot;form-control-static&quot;&gt;&lt;?php echo $row&#x5B;&quot;address&quot;]; ?&gt;&lt;\/p&gt;\n                    &lt;\/div&gt;\n                    &lt;div class=&quot;form-group&quot;&gt;\n                        &lt;label&gt;Salary&lt;\/label&gt;\n                        &lt;p class=&quot;form-control-static&quot;&gt;&lt;?php echo $row&#x5B;&quot;salary&quot;]; ?&gt;&lt;\/p&gt;\n                    &lt;\/div&gt;\n                    &lt;p&gt;&lt;a href=&quot;index.php&quot; class=&quot;btn btn-primary&quot;&gt;Back&lt;\/a&gt;&lt;\/p&gt;\n                &lt;\/div&gt;\n            &lt;\/div&gt;        \n        &lt;\/div&gt;\n    &lt;\/div&gt;\n&lt;\/body&gt;\n&lt;\/html&gt;\n<\/pre><\/div>\n\n\n<h5 class=\"wp-block-heading\">Membuat Update Page<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">Demikian pula, kita dapat membangun fungsionalitas&nbsp;<strong>U<\/strong>pdate aplikasi CRUD kita.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mari kita buat file bernama \u201c<strong><em>update.php<\/em><\/strong>\u201d dan masukkan kode berikut di dalamnya. Ini akan memperbarui catatan yang ada di tabel&nbsp;<em>employees<\/em>&nbsp;berdasarkan atribut<strong>&nbsp;id<\/strong>&nbsp;karyawan.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: php; title: ; notranslate\" title=\"\">\n&lt;?php\n\/\/ Include config file\nrequire_once &quot;config.php&quot;;\n  \n\/\/ Define variables and initialize with empty values\n$name = $address = $salary = &quot;&quot;;\n$name_err = $address_err = $salary_err = &quot;&quot;;\n  \n\/\/ Processing form data when form is submitted\nif(isset($_POST&#x5B;&quot;id&quot;]) &amp;&amp; !empty($_POST&#x5B;&quot;id&quot;])){\n    \/\/ Get hidden input value\n    $id = $_POST&#x5B;&quot;id&quot;];\n     \n    \/\/ Validate name\n    $input_name = trim($_POST&#x5B;&quot;name&quot;]);\n    if(empty($input_name)){\n        $name_err = &quot;Please enter a name.&quot;;\n    } elseif(!filter_var($input_name, FILTER_VALIDATE_REGEXP, array(&quot;options&quot;=&gt;array(&quot;regexp&quot;=&gt;&quot;\/^&#x5B;a-zA-Z\\s]+$\/&quot;)))){\n        $name_err = &quot;Please enter a valid name.&quot;;\n    } else{\n        $name = $input_name;\n    }\n     \n    \/\/ Validate address address\n    $input_address = trim($_POST&#x5B;&quot;address&quot;]);\n    if(empty($input_address)){\n        $address_err = &quot;Please enter an address.&quot;;     \n    } else{\n        $address = $input_address;\n    }\n     \n    \/\/ Validate salary\n    $input_salary = trim($_POST&#x5B;&quot;salary&quot;]);\n    if(empty($input_salary)){\n        $salary_err = &quot;Please enter the salary amount.&quot;;     \n    } elseif(!ctype_digit($input_salary)){\n        $salary_err = &quot;Please enter a positive integer value.&quot;;\n    } else{\n        $salary = $input_salary;\n    }\n     \n    \/\/ Check input errors before inserting in database\n    if(empty($name_err) &amp;&amp; empty($address_err) &amp;&amp; empty($salary_err)){\n        \/\/ Prepare an update statement\n        $sql = &quot;UPDATE employees SET name=?, address=?, salary=? WHERE id=?&quot;;\n          \n        if($stmt = mysqli_prepare($link, $sql)){\n            \/\/ Bind variables to the prepared statement as parameters\n            mysqli_stmt_bind_param($stmt, &quot;sssi&quot;, $param_name, $param_address, $param_salary, $param_id);\n             \n            \/\/ Set parameters\n            $param_name = $name;\n            $param_address = $address;\n            $param_salary = $salary;\n            $param_id = $id;\n             \n            \/\/ Attempt to execute the prepared statement\n            if(mysqli_stmt_execute($stmt)){\n                \/\/ Records updated successfully. Redirect to landing page\n                header(&quot;location: index.php&quot;);\n                exit();\n            } else{\n                echo &quot;Something went wrong. Please try again later.&quot;;\n            }\n        }\n          \n        \/\/ Close statement\n        mysqli_stmt_close($stmt);\n    }\n     \n    \/\/ Close connection\n    mysqli_close($link);\n} else{\n    \/\/ Check existence of id parameter before processing further\n    if(isset($_GET&#x5B;&quot;id&quot;]) &amp;&amp; !empty(trim($_GET&#x5B;&quot;id&quot;]))){\n        \/\/ Get URL parameter\n        $id =  trim($_GET&#x5B;&quot;id&quot;]);\n         \n        \/\/ Prepare a select statement\n        $sql = &quot;SELECT * FROM employees WHERE id = ?&quot;;\n        if($stmt = mysqli_prepare($link, $sql)){\n            \/\/ Bind variables to the prepared statement as parameters\n            mysqli_stmt_bind_param($stmt, &quot;i&quot;, $param_id);\n             \n            \/\/ Set parameters\n            $param_id = $id;\n             \n            \/\/ Attempt to execute the prepared statement\n            if(mysqli_stmt_execute($stmt)){\n                $result = mysqli_stmt_get_result($stmt);\n     \n                if(mysqli_num_rows($result) == 1){\n                    \/* Fetch result row as an associative array. Since the result set contains only one row, we don&#039;t need to use while loop *\/\n                    $row = mysqli_fetch_array($result, MYSQLI_ASSOC);\n                     \n                    \/\/ Retrieve individual field value\n                    $name = $row&#x5B;&quot;name&quot;];\n                    $address = $row&#x5B;&quot;address&quot;];\n                    $salary = $row&#x5B;&quot;salary&quot;];\n                } else{\n                    \/\/ URL doesn&#039;t contain valid id. Redirect to error page\n                    header(&quot;location: error.php&quot;);\n                    exit();\n                }\n                 \n            } else{\n                echo &quot;Oops! Something went wrong. Please try again later.&quot;;\n            }\n        }\n         \n        \/\/ Close statement\n        mysqli_stmt_close($stmt);\n         \n        \/\/ Close connection\n        mysqli_close($link);\n    }  else{\n        \/\/ URL doesn&#039;t contain id parameter. Redirect to error page\n        header(&quot;location: error.php&quot;);\n        exit();\n    }\n}\n?&gt;\n  \n&lt;!DOCTYPE html&gt;\n&lt;html lang=&quot;en&quot;&gt;\n&lt;head&gt;\n    &lt;meta charset=&quot;UTF-8&quot;&gt;\n    &lt;title&gt;Update Record&lt;\/title&gt;\n    &lt;link rel=&quot;stylesheet&quot; href=&quot;https:\/\/maxcdn.bootstrapcdn.com\/bootstrap\/3.3.7\/css\/bootstrap.css&quot;&gt;\n    &lt;style type=&quot;text\/css&quot;&gt;\n        .wrapper{\n            width: 500px;\n            margin: 0 auto;\n        }\n    &lt;\/style&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n    &lt;div class=&quot;wrapper&quot;&gt;\n        &lt;div class=&quot;container-fluid&quot;&gt;\n            &lt;div class=&quot;row&quot;&gt;\n                &lt;div class=&quot;col-md-12&quot;&gt;\n                    &lt;div class=&quot;page-header&quot;&gt;\n                        &lt;h2&gt;Update Record&lt;\/h2&gt;\n                    &lt;\/div&gt;\n                    &lt;p&gt;Please edit the input values and submit to update the record.&lt;\/p&gt;\n                    &lt;form action=&quot;&lt;?php echo htmlspecialchars(basename($_SERVER&#x5B;&#039;REQUEST_URI&#039;])); ?&gt;&quot; method=&quot;post&quot;&gt;\n                        &lt;div class=&quot;form-group &lt;?php echo (!empty($name_err)) ? &#039;has-error&#039; : &#039;&#039;; ?&gt;&quot;&gt;\n                            &lt;label&gt;Name&lt;\/label&gt;\n                            &lt;input type=&quot;text&quot; name=&quot;name&quot; class=&quot;form-control&quot; value=&quot;&lt;?php echo $name; ?&gt;&quot;&gt;\n                            &lt;span class=&quot;help-block&quot;&gt;&lt;?php echo $name_err;?&gt;&lt;\/span&gt;\n                        &lt;\/div&gt;\n                        &lt;div class=&quot;form-group &lt;?php echo (!empty($address_err)) ? &#039;has-error&#039; : &#039;&#039;; ?&gt;&quot;&gt;\n                            &lt;label&gt;Address&lt;\/label&gt;\n                            &lt;textarea name=&quot;address&quot; class=&quot;form-control&quot;&gt;&lt;?php echo $address; ?&gt;&lt;\/textarea&gt;\n                            &lt;span class=&quot;help-block&quot;&gt;&lt;?php echo $address_err;?&gt;&lt;\/span&gt;\n                        &lt;\/div&gt;\n                        &lt;div class=&quot;form-group &lt;?php echo (!empty($salary_err)) ? &#039;has-error&#039; : &#039;&#039;; ?&gt;&quot;&gt;\n                            &lt;label&gt;Salary&lt;\/label&gt;\n                            &lt;input type=&quot;text&quot; name=&quot;salary&quot; class=&quot;form-control&quot; value=&quot;&lt;?php echo $salary; ?&gt;&quot;&gt;\n                            &lt;span class=&quot;help-block&quot;&gt;&lt;?php echo $salary_err;?&gt;&lt;\/span&gt;\n                        &lt;\/div&gt;\n                        &lt;input type=&quot;hidden&quot; name=&quot;id&quot; value=&quot;&lt;?php echo $id; ?&gt;&quot;\/&gt;\n                        &lt;input type=&quot;submit&quot; class=&quot;btn btn-primary&quot; value=&quot;Submit&quot;&gt;\n                        &lt;a href=&quot;index.php&quot; class=&quot;btn btn-default&quot;&gt;Cancel&lt;\/a&gt;\n                    &lt;\/form&gt;\n                &lt;\/div&gt;\n            &lt;\/div&gt;        \n        &lt;\/div&gt;\n    &lt;\/div&gt;\n&lt;\/body&gt;\n&lt;\/html&gt;\n<\/pre><\/div>\n\n\n<h5 class=\"wp-block-heading\">Membuat Delete Page<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">Akhirnya, kita akan membangun fungsionalitas&nbsp;<strong>D<\/strong>elete dari aplikasi CRUD kita.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mari kita buat file bernama \u201c<strong><em>delete.php<\/em><\/strong>\u201d dan masukkan kode berikut di dalamnya. Ini akan menghapus catatan yang ada dari tabel&nbsp;<em>employees<\/em>&nbsp;berdasarkan atribut&nbsp;<strong><em>id<\/em><\/strong>&nbsp;karyawan.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: php; title: ; notranslate\" title=\"\">\n&lt;?php\n\/\/ Process delete operation after confirmation\nif(isset($_POST&#x5B;&quot;id&quot;]) &amp;&amp; !empty($_POST&#x5B;&quot;id&quot;])){\n    \/\/ Include config file\n    require_once &quot;config.php&quot;;\n     \n    \/\/ Prepare a delete statement\n    $sql = &quot;DELETE FROM employees WHERE id = ?&quot;;\n     \n    if($stmt = mysqli_prepare($link, $sql)){\n        \/\/ Bind variables to the prepared statement as parameters\n        mysqli_stmt_bind_param($stmt, &quot;i&quot;, $param_id);\n         \n        \/\/ Set parameters\n        $param_id = trim($_POST&#x5B;&quot;id&quot;]);\n         \n        \/\/ Attempt to execute the prepared statement\n        if(mysqli_stmt_execute($stmt)){\n            \/\/ Records deleted successfully. Redirect to landing page\n            header(&quot;location: index.php&quot;);\n            exit();\n        } else{\n            echo &quot;Oops! Something went wrong. Please try again later.&quot;;\n        }\n    }\n      \n    \/\/ Close statement\n    mysqli_stmt_close($stmt);\n     \n    \/\/ Close connection\n    mysqli_close($link);\n} else{\n    \/\/ Check existence of id parameter\n    if(empty(trim($_GET&#x5B;&quot;id&quot;]))){\n        \/\/ URL doesn&#039;t contain id parameter. Redirect to error page\n        header(&quot;location: error.php&quot;);\n        exit();\n    }\n}\n?&gt;\n&lt;!DOCTYPE html&gt;\n&lt;html lang=&quot;en&quot;&gt;\n&lt;head&gt;\n    &lt;meta charset=&quot;UTF-8&quot;&gt;\n    &lt;title&gt;View Record&lt;\/title&gt;\n    &lt;link rel=&quot;stylesheet&quot; href=&quot;https:\/\/maxcdn.bootstrapcdn.com\/bootstrap\/3.3.7\/css\/bootstrap.css&quot;&gt;\n    &lt;style type=&quot;text\/css&quot;&gt;\n        .wrapper{\n            width: 500px;\n            margin: 0 auto;\n        }\n    &lt;\/style&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n    &lt;div class=&quot;wrapper&quot;&gt;\n        &lt;div class=&quot;container-fluid&quot;&gt;\n            &lt;div class=&quot;row&quot;&gt;\n                &lt;div class=&quot;col-md-12&quot;&gt;\n                    &lt;div class=&quot;page-header&quot;&gt;\n                        &lt;h1&gt;Delete Record&lt;\/h1&gt;\n                    &lt;\/div&gt;\n                    &lt;form action=&quot;&lt;?php echo htmlspecialchars($_SERVER&#x5B;&quot;PHP_SELF&quot;]); ?&gt;&quot; method=&quot;post&quot;&gt;\n                        &lt;div class=&quot;alert alert-danger fade in&quot;&gt;\n                            &lt;input type=&quot;hidden&quot; name=&quot;id&quot; value=&quot;&lt;?php echo trim($_GET&#x5B;&quot;id&quot;]); ?&gt;&quot;\/&gt;\n                            &lt;p&gt;Are you sure you want to delete this record?&lt;\/p&gt;&lt;br&gt;\n                            &lt;p&gt;\n                                &lt;input type=&quot;submit&quot; value=&quot;Yes&quot; class=&quot;btn btn-danger&quot;&gt;\n                                &lt;a href=&quot;index.php&quot; class=&quot;btn btn-default&quot;&gt;No&lt;\/a&gt;\n                            &lt;\/p&gt;\n                        &lt;\/div&gt;\n                    &lt;\/form&gt;\n                &lt;\/div&gt;\n            &lt;\/div&gt;        \n        &lt;\/div&gt;\n    &lt;\/div&gt;\n&lt;\/body&gt;\n&lt;\/html&gt;\n<\/pre><\/div>\n\n\n<h5 class=\"wp-block-heading\">Membuat Error Page<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">Pada akhirnya, mari kita buat satu file lagi \u201c<strong><em>error.php<\/em><\/strong>\u201c. Halaman ini akan ditampilkan jika permintaan tidak valid yaitu jika parameter&nbsp;<strong><em>id<\/em><\/strong>&nbsp;tidak ada dari string kueri URL atau tidak valid.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: php; title: ; notranslate\" title=\"\">\n&lt;!DOCTYPE html&gt;\n&lt;html lang=&quot;en&quot;&gt;\n&lt;head&gt;\n    &lt;meta charset=&quot;UTF-8&quot;&gt;\n    &lt;title&gt;Error&lt;\/title&gt;\n    &lt;link rel=&quot;stylesheet&quot; href=&quot;https:\/\/maxcdn.bootstrapcdn.com\/bootstrap\/3.3.7\/css\/bootstrap.css&quot;&gt;\n    &lt;style type=&quot;text\/css&quot;&gt;\n        .wrapper{\n            width: 750px;\n            margin: 0 auto;\n        }\n    &lt;\/style&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n    &lt;div class=&quot;wrapper&quot;&gt;\n        &lt;div class=&quot;container-fluid&quot;&gt;\n            &lt;div class=&quot;row&quot;&gt;\n                &lt;div class=&quot;col-md-12&quot;&gt;\n                    &lt;div class=&quot;page-header&quot;&gt;\n                        &lt;h1&gt;Invalid Request&lt;\/h1&gt;\n                    &lt;\/div&gt;\n                    &lt;div class=&quot;alert alert-danger fade in&quot;&gt;\n                        &lt;p&gt;Sorry, you&#039;ve made an invalid request. Please &lt;a href=&quot;index.php&quot; class=&quot;alert-link&quot;&gt;go back&lt;\/a&gt; and try again.&lt;\/p&gt;\n                    &lt;\/div&gt;\n                &lt;\/div&gt;\n            &lt;\/div&gt;        \n        &lt;\/div&gt;\n    &lt;\/div&gt;\n&lt;\/body&gt;\n&lt;\/html&gt;\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Mengenal CRUD CRUD adalah akronim untuk&nbsp;Create,&nbsp;Read,&nbsp;Udate, dan&nbsp;Delete. Operasi CRUD adalah manipulasi data dasar untuk basis data. Kita telah belajar bagaimana melakukan create (mis. Insert), read<\/p>\n","protected":false},"author":1,"featured_media":9023,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[3892,3887,3889,3890,3891,3888],"class_list":["post-12259","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-belajar-web-programming","tag-belajar-php-mysql-crud-application","tag-belajar-php-mysql-crud-application-pemula","tag-kursus-php-mysql-crud-application-bandung","tag-kursus-php-mysql-crud-application-jakarta","tag-tutorial-php-mysql-crud-application","tag-tutorial-php-mysql-crud-application-pemula"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>PHP MySQL : CRUD Application - WebHozz Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.webhozz.com\/blog\/php-mysql-crud-application\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PHP MySQL : CRUD Application - WebHozz Blog\" \/>\n<meta property=\"og:description\" content=\"Mengenal CRUD CRUD adalah akronim untuk&nbsp;Create,&nbsp;Read,&nbsp;Udate, dan&nbsp;Delete. Operasi CRUD adalah manipulasi data dasar untuk basis data. Kita telah belajar bagaimana melakukan create (mis. Insert), read\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.webhozz.com\/blog\/php-mysql-crud-application\/\" \/>\n<meta property=\"og:site_name\" content=\"WebHozz Blog\" \/>\n<meta property=\"article:published_time\" content=\"2023-01-27T08:23:04+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-05-09T07:42:36+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.webhozz.com\/blog\/wp-content\/uploads\/2017\/12\/php_mysql.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"750\" \/>\n\t<meta property=\"og:image:height\" content=\"400\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"16 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.webhozz.com\\\/blog\\\/php-mysql-crud-application\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.webhozz.com\\\/blog\\\/php-mysql-crud-application\\\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\\\/\\\/www.webhozz.com\\\/blog\\\/#\\\/schema\\\/person\\\/d5f539ad171dc74baaf6a98dfef6fcef\"},\"headline\":\"PHP MySQL : CRUD Application\",\"datePublished\":\"2023-01-27T08:23:04+00:00\",\"dateModified\":\"2023-05-09T07:42:36+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.webhozz.com\\\/blog\\\/php-mysql-crud-application\\\/\"},\"wordCount\":623,\"publisher\":{\"@id\":\"https:\\\/\\\/www.webhozz.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.webhozz.com\\\/blog\\\/php-mysql-crud-application\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.webhozz.com\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/12\\\/php_mysql.jpg\",\"keywords\":[\"Belajar PHP MySQL CRUD Application\",\"Belajar PHP MySQL CRUD Application Pemula\",\"Kursus PHP MySQL CRUD Application Bandung\",\"Kursus PHP MySQL CRUD Application Jakarta\",\"Tutorial PHP MySQL CRUD Application\",\"Tutorial PHP MySQL CRUD Application Pemula\"],\"articleSection\":[\"Belajar Web Programming\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.webhozz.com\\\/blog\\\/php-mysql-crud-application\\\/\",\"url\":\"https:\\\/\\\/www.webhozz.com\\\/blog\\\/php-mysql-crud-application\\\/\",\"name\":\"PHP MySQL : CRUD Application - WebHozz Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.webhozz.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.webhozz.com\\\/blog\\\/php-mysql-crud-application\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.webhozz.com\\\/blog\\\/php-mysql-crud-application\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.webhozz.com\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/12\\\/php_mysql.jpg\",\"datePublished\":\"2023-01-27T08:23:04+00:00\",\"dateModified\":\"2023-05-09T07:42:36+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.webhozz.com\\\/blog\\\/php-mysql-crud-application\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.webhozz.com\\\/blog\\\/php-mysql-crud-application\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.webhozz.com\\\/blog\\\/php-mysql-crud-application\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.webhozz.com\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/12\\\/php_mysql.jpg\",\"contentUrl\":\"https:\\\/\\\/www.webhozz.com\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/12\\\/php_mysql.jpg\",\"width\":750,\"height\":400},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.webhozz.com\\\/blog\\\/php-mysql-crud-application\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.webhozz.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PHP MySQL : CRUD Application\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.webhozz.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.webhozz.com\\\/blog\\\/\",\"name\":\"WebHozz Blog\",\"description\":\"Kursus Web &amp; Android di Jakarta Bandung\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.webhozz.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.webhozz.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.webhozz.com\\\/blog\\\/#organization\",\"name\":\"WebHozz\",\"url\":\"https:\\\/\\\/www.webhozz.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.webhozz.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.webhozz.com\\\/blog\\\/wp-content\\\/uploads\\\/2018\\\/04\\\/logo-persegi.jpg\",\"contentUrl\":\"https:\\\/\\\/www.webhozz.com\\\/blog\\\/wp-content\\\/uploads\\\/2018\\\/04\\\/logo-persegi.jpg\",\"width\":442,\"height\":442,\"caption\":\"WebHozz\"},\"image\":{\"@id\":\"https:\\\/\\\/www.webhozz.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.webhozz.com\\\/blog\\\/#\\\/schema\\\/person\\\/d5f539ad171dc74baaf6a98dfef6fcef\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bff35e4083f3870e2f911c4437e788147d340f274268d361dd7e1cf20bebb156?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bff35e4083f3870e2f911c4437e788147d340f274268d361dd7e1cf20bebb156?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bff35e4083f3870e2f911c4437e788147d340f274268d361dd7e1cf20bebb156?s=96&d=mm&r=g\",\"caption\":\"admin\"},\"url\":\"https:\\\/\\\/www.webhozz.com\\\/blog\\\/author\\\/admin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"PHP MySQL : CRUD Application - WebHozz Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.webhozz.com\/blog\/php-mysql-crud-application\/","og_locale":"en_US","og_type":"article","og_title":"PHP MySQL : CRUD Application - WebHozz Blog","og_description":"Mengenal CRUD CRUD adalah akronim untuk&nbsp;Create,&nbsp;Read,&nbsp;Udate, dan&nbsp;Delete. Operasi CRUD adalah manipulasi data dasar untuk basis data. Kita telah belajar bagaimana melakukan create (mis. Insert), read","og_url":"https:\/\/www.webhozz.com\/blog\/php-mysql-crud-application\/","og_site_name":"WebHozz Blog","article_published_time":"2023-01-27T08:23:04+00:00","article_modified_time":"2023-05-09T07:42:36+00:00","og_image":[{"width":750,"height":400,"url":"https:\/\/www.webhozz.com\/blog\/wp-content\/uploads\/2017\/12\/php_mysql.jpg","type":"image\/jpeg"}],"author":"admin","twitter_card":"summary_large_image","twitter_misc":{"Written by":"admin","Est. reading time":"16 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.webhozz.com\/blog\/php-mysql-crud-application\/#article","isPartOf":{"@id":"https:\/\/www.webhozz.com\/blog\/php-mysql-crud-application\/"},"author":{"name":"admin","@id":"https:\/\/www.webhozz.com\/blog\/#\/schema\/person\/d5f539ad171dc74baaf6a98dfef6fcef"},"headline":"PHP MySQL : CRUD Application","datePublished":"2023-01-27T08:23:04+00:00","dateModified":"2023-05-09T07:42:36+00:00","mainEntityOfPage":{"@id":"https:\/\/www.webhozz.com\/blog\/php-mysql-crud-application\/"},"wordCount":623,"publisher":{"@id":"https:\/\/www.webhozz.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.webhozz.com\/blog\/php-mysql-crud-application\/#primaryimage"},"thumbnailUrl":"https:\/\/www.webhozz.com\/blog\/wp-content\/uploads\/2017\/12\/php_mysql.jpg","keywords":["Belajar PHP MySQL CRUD Application","Belajar PHP MySQL CRUD Application Pemula","Kursus PHP MySQL CRUD Application Bandung","Kursus PHP MySQL CRUD Application Jakarta","Tutorial PHP MySQL CRUD Application","Tutorial PHP MySQL CRUD Application Pemula"],"articleSection":["Belajar Web Programming"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.webhozz.com\/blog\/php-mysql-crud-application\/","url":"https:\/\/www.webhozz.com\/blog\/php-mysql-crud-application\/","name":"PHP MySQL : CRUD Application - WebHozz Blog","isPartOf":{"@id":"https:\/\/www.webhozz.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.webhozz.com\/blog\/php-mysql-crud-application\/#primaryimage"},"image":{"@id":"https:\/\/www.webhozz.com\/blog\/php-mysql-crud-application\/#primaryimage"},"thumbnailUrl":"https:\/\/www.webhozz.com\/blog\/wp-content\/uploads\/2017\/12\/php_mysql.jpg","datePublished":"2023-01-27T08:23:04+00:00","dateModified":"2023-05-09T07:42:36+00:00","breadcrumb":{"@id":"https:\/\/www.webhozz.com\/blog\/php-mysql-crud-application\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.webhozz.com\/blog\/php-mysql-crud-application\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.webhozz.com\/blog\/php-mysql-crud-application\/#primaryimage","url":"https:\/\/www.webhozz.com\/blog\/wp-content\/uploads\/2017\/12\/php_mysql.jpg","contentUrl":"https:\/\/www.webhozz.com\/blog\/wp-content\/uploads\/2017\/12\/php_mysql.jpg","width":750,"height":400},{"@type":"BreadcrumbList","@id":"https:\/\/www.webhozz.com\/blog\/php-mysql-crud-application\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.webhozz.com\/blog\/"},{"@type":"ListItem","position":2,"name":"PHP MySQL : CRUD Application"}]},{"@type":"WebSite","@id":"https:\/\/www.webhozz.com\/blog\/#website","url":"https:\/\/www.webhozz.com\/blog\/","name":"WebHozz Blog","description":"Kursus Web &amp; Android di Jakarta Bandung","publisher":{"@id":"https:\/\/www.webhozz.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.webhozz.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.webhozz.com\/blog\/#organization","name":"WebHozz","url":"https:\/\/www.webhozz.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.webhozz.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.webhozz.com\/blog\/wp-content\/uploads\/2018\/04\/logo-persegi.jpg","contentUrl":"https:\/\/www.webhozz.com\/blog\/wp-content\/uploads\/2018\/04\/logo-persegi.jpg","width":442,"height":442,"caption":"WebHozz"},"image":{"@id":"https:\/\/www.webhozz.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.webhozz.com\/blog\/#\/schema\/person\/d5f539ad171dc74baaf6a98dfef6fcef","name":"admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/bff35e4083f3870e2f911c4437e788147d340f274268d361dd7e1cf20bebb156?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/bff35e4083f3870e2f911c4437e788147d340f274268d361dd7e1cf20bebb156?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/bff35e4083f3870e2f911c4437e788147d340f274268d361dd7e1cf20bebb156?s=96&d=mm&r=g","caption":"admin"},"url":"https:\/\/www.webhozz.com\/blog\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.webhozz.com\/blog\/wp-json\/wp\/v2\/posts\/12259","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.webhozz.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.webhozz.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.webhozz.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.webhozz.com\/blog\/wp-json\/wp\/v2\/comments?post=12259"}],"version-history":[{"count":2,"href":"https:\/\/www.webhozz.com\/blog\/wp-json\/wp\/v2\/posts\/12259\/revisions"}],"predecessor-version":[{"id":12580,"href":"https:\/\/www.webhozz.com\/blog\/wp-json\/wp\/v2\/posts\/12259\/revisions\/12580"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.webhozz.com\/blog\/wp-json\/wp\/v2\/media\/9023"}],"wp:attachment":[{"href":"https:\/\/www.webhozz.com\/blog\/wp-json\/wp\/v2\/media?parent=12259"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.webhozz.com\/blog\/wp-json\/wp\/v2\/categories?post=12259"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.webhozz.com\/blog\/wp-json\/wp\/v2\/tags?post=12259"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}