PHP PDO CRUD
By Webotapp Academy•
<!-- wp:paragraph -->\n<p></p>\n<!-- /wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p><strong>PDO Database Connection:</strong></p>\n<!-- /wp:paragraph -->\n\n<!-- wp:code -->\n<pre class=\"wp-block-code\"><code><?php\ntry {\n $pdo = new PDO(\"mysql:host=localhost;dbname=your_database_name\", \"your_username\", \"your_password\");\n $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);\n $pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);\n} catch (PDOException $e) {\n die(\"Connection failed: \" . $e->getMessage());\n}\n?></code></pre>\n<!-- /wp:code -->\n\n<!-- wp:paragraph -->\n<p><strong>CRUD Operations with PDO:</strong></p>\n<!-- /wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p><strong>Create (INSERT):</strong></p>\n<!-- /wp:paragraph -->\n\n<!-- wp:code -->\n<pre class=\"wp-block-code\"><code>try {\n $sql = \"INSERT INTO your_table (column1, column2, column3) VALUES (:value1, :value2, :value3)\";\n $stmt = $pdo->prepare($sql);\n $stmt->bindParam(':value1', $value1);\n $stmt->bindParam(':value2', $value2);\n $stmt->bindParam(':value3', $value3);\n\n $value1 = \"Some Value\";\n $value2 = \"Another Value\";\n $value3 = 123;\n\n $stmt->execute();\n echo \"Record inserted successfully.\";\n} catch (PDOException $e) {\n echo \"Error: \" . $e->getMessage();\n}</code></pre>\n<!-- /wp:code -->\n\n<!-- wp:paragraph -->\n<p><strong>Read (SELECT) WIthout Loop:</strong></p>\n<!-- /wp:paragraph -->\n\n<!-- wp:code -->\n<pre class=\"wp-block-code\"><code> try {\n $sql = \"SELECT * FROM users WHERE user_email = :email AND user_password = :password\";\n $stmt = $pdo->prepare($sql);\n$stmt->bindParam(':email', $l_email);\n $stmt->bindParam(':password', $encrypted_password);\n $stmt->execute();\n\n $row = $stmt->fetch(PDO::FETCH_ASSOC);\n\n if ($row) {\n $user_id = $row['id'];\n\n if ($user_id != '') {\n $message = 'Logged in Successfully';\n } else {\n $message = 'Invalid email or password';\n }\n } else {\n $message = 'Invalid email or password';\n }\n \n echo $message;\n } catch (PDOException $e) {\n echo \"Error: \" . $e->getMessage();\n }</code></pre>\n<!-- /wp:code -->\n\n<!-- wp:paragraph -->\n<p><strong>Update (UPDATE):</strong></p>\n<!-- /wp:paragraph -->\n\n<!-- wp:code -->\n<pre class=\"wp-block-code\"><code>try {\n $sql = \"UPDATE your_table SET column1 = :value1, column2 = :value2 WHERE id = :id\";\n $stmt = $pdo->prepare($sql);\n $stmt->bindParam(':value1', $value1);\n $stmt->bindParam(':value2', $value2);\n $stmt->bindParam(':id', $id);\n\n $value1 = \"Updated Value\";\n $value2 = \"New Value\";\n $id = 1; // Example record ID\n\n $stmt->execute();\n echo \"Record updated successfully.\";\n} catch (PDOException $e) {\n echo \"Error: \" . $e->getMessage();\n}</code></pre>\n<!-- /wp:code -->\n\n<!-- wp:paragraph -->\n<p><strong>Delete (DELETE):</strong></p>\n<!-- /wp:paragraph -->\n\n<!-- wp:code -->\n<pre class=\"wp-block-code\"><code>try {\n $sql = \"DELETE FROM your_table WHERE id = :id\";\n $stmt = $pdo->prepare($sql);\n $stmt->bindParam(':id', $id);\n\n $id = 1; // Example record ID to delete\n\n $stmt->execute();\n echo \"Record deleted successfully.\";\n} catch (PDOException $e) {\n echo \"Error: \" . $e->getMessage();\n}</code></pre>\n<!-- /wp:code -->\n\n<!-- wp:paragraph -->\n<p></p>\n<!-- /wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p><strong>Read (Select) With Loop</strong></p>\n<!-- /wp:paragraph -->\n\n<!-- wp:code -->\n<pre class=\"wp-block-code\"><code>try {\n $sql = \"SELECT * FROM users WHERE user_email = '$l_email' AND user_password = '$encrypted_password'\";\n $stmt = $pdo->query($sql);\n $stmt->execute();\n\n while ($row = $stmt->fetch()) {\n // Process the retrieved data\n $value = $row['id'];\n \n echo \"$new_value\";\n }\n } catch (PDOException $e) {\n echo \"Error: \" . $e->getMessage();\n }\n}</code></pre>\n<!-- /wp:code -->\n\n<!-- wp:paragraph -->\n<p>Explanation:</p>\n<!-- /wp:paragraph -->\n\n<!-- wp:list {\"ordered\":true} -->\n<ol><!-- wp:list-item -->\n<li>The PDO database connection code establishes a connection to your MySQL database, and it sets the error mode and fetch mode to provide useful error messages and fetch data as associative arrays.</li>\n<!-- /wp:list-item -->\n\n<!-- wp:list-item -->\n<li>The CRUD examples demonstrate how to perform basic database operations with PDO: Create (INSERT), Read (SELECT), Update (UPDATE), and Delete (DELETE).</li>\n<!-- /wp:list-item -->\n\n<!-- wp:list-item -->\n<li>Prepared statements are used to prevent SQL injection by binding values to placeholders.</li>\n<!-- /wp:list-item --></ol>\n<!-- /wp:list -->\n\n<!-- wp:paragraph -->\n<p>Make sure to replace placeholders like <code>your_database_name</code>, <code>your_username</code>, <code>your_password</code>, and <code>your_table</code> with your actual database details and table name. Also, modify the column names and values accordingly for your specific use case.</p>\n<!-- /wp:paragraph -->