Dup Ver Goto 📝

basics1

PT2/db/mysql/php does not exist
To
124 lines, 341 words, 2696 chars Page 'basics1' does not exist.

This is about the simplest store and retrieve example I could come up with. See also the Python counterpart.

Stor1

insert.php

<?
<pre><?php
require_once("wordlist.php");
$host = "127.0.0.1";
$port = 3306;
$user = "stor1";
$password = "stor1";
$database = "stor1";

// Create connection
$conn = new mysqli($host, $user, $password, $database);
// Check connection
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully\n";

function random_words(int $n) {
  global $words;
  $result = [];
  for($i=0;$i<$n;$i++) {
    $j = rand()%$n;
    array_push($result,$words[$j]);
  }
  return $result;
}
function camel($xs) {
  $ys = array_map("camel1",$xs);
  return implode("",$ys);
}
function camel1($xs) {
  if( $xs === "" ) return "";
  return strtoupper($xs[0]).strtolower(substr($xs,1));
}
function makekey() {
  return camel(random_words(4));
}
function makeval() {
  $n = 16+(rand()%16);
  return implode(" ",random_words($n));
}
$key = makekey();
$val = makeval();
$now = (new DateTime('now'))->format('Y-m-d H:i:s');

echo "Inserting $key => $val @ $now\n";

/* create a prepared statement */
$stmt = $conn->prepare("INSERT INTO stor1_01 (name, data, date) VALUES (?, ?, ?)");

/* bind parameters for markers */
$stmt->bind_param("sss", $key, $val, $now);

if (!$stmt->execute()) {
    printf("Error message: %s\n", $conn->error);
}

/* close connection */
$conn->close();

list.php

<?
<?php
$host = "127.0.0.1";
$port = 3306;
$user = "stor1";
$password = "stor1";
$database = "stor1";

// Create connection
$conn = new mysqli($host, $user, $password, $database);
// Check connection
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully\n";

$query = 'SELECT name, data, date FROM stor1_01 LIMIT 20';
$result = $conn->execute_query($query);
foreach ($result as $row) {
    printf("<p>%s %s %s</p>\n", $row["name"], $row["date"], $row["data"]);
}

/* close connection */
$conn->close();

get.php

<?
<?php
$host = "127.0.0.1";
$port = 3306;
$user = "stor1";
$password = "stor1";
$database = "stor1";

// Create connection
$conn = new mysqli($host, $user, $password, $database);
// Check connection
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully\n";

$qs = $_SERVER["QUERY_STRING"];
$query = 'SELECT name, data, date FROM stor1_01 WHERE name=? LIMIT 10';
$result = $conn->execute_query($query,[$qs]);
foreach ($result as $row) {
    printf("<p>%s %s %s</p>\n", $row["name"], $row["date"], $row["data"]);
}

/* close connection */
$conn->close();