making pdo version of mysql stuff
This commit is contained in:
parent
0807e2ee9d
commit
c41a44ad13
152
docroot/html/pdo.php
Normal file
152
docroot/html/pdo.php
Normal file
@ -0,0 +1,152 @@
|
||||
<?php
|
||||
$PDOCONN = null;
|
||||
|
||||
try {
|
||||
$PDOCONN = new PDO(
|
||||
"mysql:host=localhost;dbname=learningphp",
|
||||
"learningphp",
|
||||
"learningphp"
|
||||
);
|
||||
|
||||
} catch(PDOException $e) {
|
||||
printf("Could not connect to database: %s\n", $e->getMessage());
|
||||
exit();
|
||||
}
|
||||
|
||||
$ACTION = "";
|
||||
|
||||
if (array_key_exists("action", $_POST)) {
|
||||
$ACTION = $_POST["action"];
|
||||
}
|
||||
|
||||
|
||||
require_once("_head.php");
|
||||
|
||||
|
||||
function show_clear_link() {
|
||||
?>
|
||||
<a href="<?php echo $_SERVER['PHP_SELF']; ?>">clear</a>
|
||||
<?php
|
||||
}
|
||||
|
||||
mkheader("pdo!", '#aff');
|
||||
|
||||
?>
|
||||
|
||||
<body>
|
||||
|
||||
<?php
|
||||
|
||||
if ($ACTION == "create-tables") {
|
||||
?><p>Creating tables...</p><pre><?php
|
||||
|
||||
$PDOCONN->exec("DROP TABLE IF EXISTS customers");
|
||||
|
||||
try {
|
||||
$nrows = $PDOCONN->exec("
|
||||
CREATE TABLE customers (
|
||||
customer_id MEDIUMINT NOT NULL AUTO_INCREMENT,
|
||||
name VARCHAR(255) NOT NULL,
|
||||
email VARCHAR(255) NOT NULL,
|
||||
PRIMARY KEY(customer_id)
|
||||
) ENGINE=InnoDB
|
||||
");
|
||||
|
||||
printf("%d Row inserted.\n", $nrows);
|
||||
|
||||
} catch (PDOException $e) {
|
||||
printf("Failed to create tables: \n%s\n", $e->getMessage());
|
||||
}
|
||||
|
||||
?></pre><?php
|
||||
|
||||
show_clear_link();
|
||||
|
||||
} elseif ($ACTION == "show-conn") {
|
||||
|
||||
?>
|
||||
<!-- ======================================================= -->
|
||||
<pre><?php
|
||||
|
||||
print "\$PDOCONN:\n";
|
||||
print_r($PDOCONN);
|
||||
|
||||
?></pre><?php
|
||||
|
||||
} elseif ($ACTION == "add-customer") {
|
||||
|
||||
try {
|
||||
$add_customer = $PDOCONN->prepare(
|
||||
"INSERT INTO customers (customer_id, name, email) VALUES (NULL, :name, :email)"
|
||||
);
|
||||
$add_customer->bindParam(':name', $_POST["name"], PDO::PARAM_STR, 12);
|
||||
$add_customer->bindParam(':email', $_POST["email"], PDO::PARAM_STR, 12);
|
||||
$nrows = $add_customer->execute();
|
||||
|
||||
?><p><?php echo $nrows; ?> Row inserted.</p><?php
|
||||
|
||||
} catch(PDOException $e) {
|
||||
?><p>Failed to create customer!: <?php echo $e->getMessage() ?></p><?php
|
||||
}
|
||||
|
||||
show_clear_link();
|
||||
|
||||
} else {
|
||||
?>
|
||||
|
||||
<form name="database_admin" action="" method="POST">
|
||||
<fieldset>
|
||||
<legend>Database Admin</legend>
|
||||
|
||||
<span class="block">
|
||||
<input type="radio" id="action-create-tables" name="action" value="create-tables" />
|
||||
<label for="action-create-tables">create tables</label>
|
||||
</span>
|
||||
|
||||
<span class="block">
|
||||
<input type="radio" id="action-show-conn" name="action" value="show-conn" />
|
||||
<label for="action-show-conn">show connection info</label>
|
||||
</span>
|
||||
|
||||
<input type="submit" name="submit" value="Do Stuff" />
|
||||
|
||||
</fieldset>
|
||||
</form>
|
||||
|
||||
<form name="add_customer" action="" method="POST">
|
||||
<fieldset><legend>Add Customer</legend>
|
||||
<input type="hidden" name="action" value="add-customer" />
|
||||
|
||||
<label class="block" for="customer-name">Name:</label>
|
||||
<input type="text" id="customer-name" name="name" />
|
||||
|
||||
<label class="block" for="customer-email">Email:</label>
|
||||
<input type="email" name="email" />
|
||||
|
||||
<input class="block" type="submit" name="submit" value="Add Customer" />
|
||||
|
||||
</fieldset>
|
||||
</form>
|
||||
|
||||
|
||||
<pre id="customer-listing"><?php
|
||||
$results = $PDOCONN->query("SELECT * FROM customers");
|
||||
while ($row = $results->fetchAll()) {
|
||||
print_r($row);
|
||||
}
|
||||
?></pre>
|
||||
|
||||
<?php
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
<?php
|
||||
|
||||
$PDOCONN = null;
|
||||
|
||||
?>
|
Loading…
Reference in New Issue
Block a user