PHP Classes

File: examples/testdberrorMessage.php

Recommend this page to a friend!
  Classes of Jorge Castro   DaoOne   examples/testdberrorMessage.php   Download  
File: examples/testdberrorMessage.php
Role: Example script
Content type: text/plain
Description: Example script
Class: DaoOne
Access MySQL databases using the MySQLi extension
Author: By
Last change:
Date: 4 years ago
Size: 5,461 bytes
 

Contents

Class file image Download
<?php

use eftec\DaoOne;
use
eftec\MessageList;

include
"../vendor/autoload.php";
include
"MessageList.php";
include
"MessageItem.php";

// connecting to database sakila at 127.0.0.1 with user root and password abc.123

/**
 * @return MessageList|null
 */
function messages() {
    global
$messageList;
    if (
$messageList===null) {
       
$messageList=new MessageList();
    }
    return
$messageList;
}

$dao=new DaoOne("127.0.0.1","root","abc.123","sakilaxxxx","logdaoone.txt");

$dao->throwOnError=false;

try {
    echo
"<h1>connection error</h1>";
   
$dao->connect();
    echo
"Connected A-OK!<br>";
} catch (
Exception $e) {
    echo
"<h1>connection error:</h1>";
    echo
$dao->lastError()."-".$e->getMessage()."<br>";
}


try {
   
$dao->select('1')->from('dual')->toList();
   
$dao->runRawQuery("select 1 from dual");
} catch (
Exception $e) {
    echo
"<h1>select 1 from dual failed:</h1>";
    echo
"Last Error:".$dao->lastError()."- GetMessage:".$e->getMessage()."<br>";
}


echo
"Status:";
if (!
$dao->isOpen) {
    echo
"<img style='width: 14px; height: 14px;' src='https://assets-cdn.github.com/images/icons/emoji/unicode/274c.png'/><br>";
} else {
    echo
"<img style='width: 14px; height: 14px;' src='https://assets-cdn.github.com/images/icons/emoji/unicode/2714.png'/><br>";
}


$dao=new DaoOne("127.0.0.1","root","abc.123","sakila","logdaoone.txt");
try {
    echo
"<h1>connection</h1>";
   
$dao->connect();
    echo
"Connected A-OK!<br>";
} catch (
Exception $e) {
    echo
"<h2>connection error:</h2>";
    echo
$dao->lastError()."-".$e->getMessage()."<br>";
    die(
1);
}



echo
"Status:";
if (!
$dao->isOpen) {
    echo
"<img style='width: 14px; height: 14px;' src='https://assets-cdn.github.com/images/icons/emoji/unicode/274c.png'/><br>";
} else {
    echo
"<img style='width: 14px; height: 14px;' src='https://assets-cdn.github.com/images/icons/emoji/unicode/2714.png'/><br>";
}

$sql="CREATE TABLE `product` (
  `idproduct` INT NOT NULL AUTO_INCREMENT,
  `name` VARCHAR(45) NULL,
  PRIMARY KEY (`idproduct`));"
;

$now=new DateTime();
// running a raw query (unprepared statement)
try {
    echo
"<h1>Table creation:</h1>";
   
$dao->runRawQuery($sql);
} catch (
Exception $e) {
    echo
"<h2>Table creation error:</h2>";
    echo
$dao->lastError()."-".$e->getMessage()."<br>";
}

try {
    echo
"<h1>Nested Error: from()->insert()->set()</h1>";
   
$dao->from("table")
        ->
insert()
        ->
set();
} catch (
Exception $e) {
    echo
"<h2>Nested Error:</h2>";
    echo
$e->getMessage()."<br>";
}

try {
    echo
"<h1>Nested Error: from()->set()->where()</h1>";
   
$dao->from("table")
        ->
where(['b1'=>1])
        ->
set(['a1'=>1]);
} catch (
Exception $e) {
    echo
"<h2>Nested Error:</h2>";
    echo
$e->getMessage()."<br>";
}

// running a prepared statement
try {
    echo
"<h1>Inserting Cocacola (prepared)</h1>";
   
$sql="insert into `product11`(name) values(?)";
    echo
"testing...";
   
$stmt=$dao->prepare($sql);
   
$productName="Cocacola";
   
$stmt->bind_param("s",$productName); // s stand for string. Also i =integer, d = double and b=blob
   
$dao->runQuery($stmt);
    echo
"Last id inserted :".$dao->insert_id()."<br>";
} catch (
Exception $e) {
    echo
"<h2>Insert Cocacola (prepared) error:</h2>";
    echo
$dao->lastError()."-".$e->getMessage()."<br>";
}
try {
    echo
"<h1>Inserting O'Hara (prepared)</h1>";
   
$sql="insert into `product`(name) values(?)";
   
$stmt=$dao->prepare($sql);
   
$productName="222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222";
   
$stmt->bind_param("s",$productName); // s stand for string. Also i =integer, d = double and b=blob
   
$dao->runQuery($stmt);
    echo
"Last id inserted :".$dao->insert_id()."<br>";
} catch (
Exception $e) {
    echo
"<h2>Insert (prepared) error:</h2>";
    echo
$dao->lastError()."-".$e->getMessage()."<br>";
}


// returning data (using a prepared statement)
try {
    echo
"<h1>select (prepared)</h1>";
   
$sql="select * from `product33` order by name";
   
$stmt=$dao->prepare($sql);
   
$dao->runQuery($stmt);

   
$rows = $stmt->get_result();

    echo
"<table><tr><th>Id</th><th>Name</th></tr>";

   
// first method
   
while ($row = $rows->fetch_assoc()) {
        echo
"<tr><td>".$row['idproduct']."</td><td>".$row['name']."</td></tr>";
    }
    echo
"</table><br>";
   
// second method (fetch all fields)
    //$allRows=$rows->fetch_all(MYSQLI_ASSOC);

} catch (Exception $e) {
    echo
"<h2>select (prepared) error:</h2>";
    echo
$dao->lastError()."-".$e->getMessage()."<br>";
}

// running a transaction
try {
    echo
"<h1>Insert transactional (prepared)</h1>";
   
$sql="insert into `product`(name) values(?)";
   
$dao->startTransaction();
   
$stmt=$dao->prepare($sql);
   
$productName="Fanta";
   
$stmt->bind_param("s",$productName); // s stand for string. Also i =integer, d = double and b=blob
   
$dao->runQuery($stmt);
    echo
"Last id inserted :".$dao->insert_id()."<br>";
   
$dao->commit(); // end transaction
} catch (Exception $e) {
    echo
"<h1>Insert transactional error:</h1>";
    echo
$dao->lastError()."-".$e->getMessage()."<br>";

   
$dao->rollback(); // cancel transaction

}

echo
"<h1>Error Messages</h1><ul>";
foreach(
messages()->allErrorOrWarningArray() as $msg) {
    echo
"<li>$msg</li>";
}
echo
"</ul>";
echo
"<h1>Info Messages</h1><ul>";
foreach(
messages()->allInfoArray() as $msg) {
    echo
"<li>$msg</li>";
}
echo
"</ul>";