Tuesday, May 7, 2019

MYSQLI Crud Example

CREATE DATABASE `database_name`;
 
// create table
CREATE TABLE `table_name`.`members` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`fname` varchar(255) NOT NULL,
`lname` varchar(255) NOT NULL,
`contact` varchar(255) NOT NULL,
`age` varchar(255) NOT NULL,
`active` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;



$localhost = "127.0.0.1";
$username = "root";
$password = "";
$dbname = "database_name";
 
// create connection
$connect = new mysqli($localhost, $username, $password, $dbname);
// check connection
if($connect->connect_error) {
    die("connection failed : " . $connect->connect_error);
} else {
    // echo "Successfully Connected";
}




$sql = "INSERT INTO members (fname, lname, contact, age, active) VALUES ('$fname', '$lname', '$contact', '$age', 1)"; if($connect->query($sql) === TRUE) { } else { } $connect->close();



$sql = "SELECT * FROM members WHERE active = 1"; $result = $connect->query($sql); if($result->num_rows > 0) { while($row = $result->fetch_assoc()) { } } else { }




$sql = "SELECT * FROM members WHERE id = {$id}"; $result = $connect->query($sql); $data = $result->fetch_assoc(); $connect->close();




$sql = "UPDATE members SET fname = '$fname', lname = '$lname', age = '$age', contact = '$contact' WHERE id = {$id}"; if($connect->query($sql) === TRUE) { } else { } $connect->close();

Htaccess Configuration

root .htaccess
==============
Options -Indexes

<IfModule mod_rewrite.c>

RewriteEngine on

RewriteCond %{REQUEST_URI} /(uploads)
RewriteRule ^uploads/(.*)$ uploads/$1 [L]

# End the processing, if a rewrite already occurred
RewriteRule ^(frontend|backend)/web/ - [L]

# Handle the case of backend, skip ([S=1]) the following rule, if current matched
RewriteRule ^backend(/(.*))?$ backend/web/$2 [NC,L]

# handle the case of frontend
RewriteRule .* frontend/web/$0

RewriteRule ^api(/(.*))?$ api/$3

</IfModule>

# Deny accessing below extensions
#<Files ~ "(.json|.lock|.git)">
#Order allow,deny
#Deny from all
#</Files>

# Deny accessing dot files
#RewriteRule (^\.|/\.) - [F]


Frontend/Web .htaccess
======================
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php

Frontend/Config main
=========================
use \yii\web\Request;

$params = array_merge(
       require __DIR__ . '/../../common/config/params.php', require __DIR__ . '/../../common/config/params-local.php', require __DIR__ . '/params.php', require __DIR__ . '/params-local.php'
);

return [
   'id' => 'app-frontend',
   'basePath' => dirname(__DIR__),
   'bootstrap' => ['log'],
   'controllerNamespace' => 'frontend\controllers',
   'components' => [
       'request' => [
           'csrfParam' => '_csrf-carco-frontend',
           'baseUrl' => str_replace('/frontend/web', '', (new Request)->getBaseUrl()),
       ],
       'user' => [
           'identityClass' => 'frontend\models\MyUser',
           'enableAutoLogin' => true,
           'identityCookie' => ['name' => '_identity-trending-frontend', 'httpOnly' => true],
       ],
       'session' => [
           // this is the name of the session cookie used for login on the frontend
           'name' => 'advanced-trending-frontend',
       ],
       'log' => [
           'traceLevel' => YII_DEBUG ? 3 : 0,
           'targets' => [
               [
                   'class' => 'yii\log\FileTarget',
                   'levels' => ['error', 'warning'],
               ],
           ],
       ],
       'errorHandler' => [
           'errorAction' => 'site/error',
       ],
       'urlManager' => [
           'enablePrettyUrl' => true,
           'showScriptName' => false,
           //'enableStrictParsing' => true,
           'rules' => [
               '/' => 'site/index',
               'reset-password' => 'site/reset-password',
               'logout' => 'site/logout',
               '<controller:\w+>/<id:\d+>' => '<controller>/view',
               '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
               '<controller:\w+>/<action:\w+>' => '<controller>/<action>',
           ],
       ],
   ],
   'params' => $params,
];

Backend/Web .htaccess
======================
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php

Backend/Config main
=====================

$params = array_merge(
       require __DIR__ . '/../../common/config/params.php', require __DIR__ . '/../../common/config/params-local.php', require __DIR__ . '/params.php', require __DIR__ . '/params-local.php'
);

use \yii\web\Request;

$baseUrl = str_replace('/backend/web', '/backend', (new Request)->getBaseUrl());
return [
   'id' => 'app-backend',
   'basePath' => dirname(__DIR__),
   'controllerNamespace' => 'backend\controllers',
   'bootstrap' => ['log'],
   'modules' => [
       'gridview' => [
           'class' => '\kartik\grid\Module'
       ]
   ],
   'components' => [
       'assetManager' => [
           'class' => 'yii\web\AssetManager',
           'forceCopy' => true,
       ],
       'request' => [
           'baseUrl' => $baseUrl,
       ],
       'user' => [
           'identityClass' => 'common\models\User',
           'enableAutoLogin' => true,
           //'authTimeout' => 172800, // 48 hour
           'identityCookie' => ['name' => '_identity-trending-backend', 'httpOnly' => true],
       ],
       'session' => [
// this is the name of the session cookie used for login on the backend
           'name' => 'trending-backend',
       //'savePath' => sys_get_temp_dir(),
       ],
       'log' => [
           'traceLevel' => YII_DEBUG ? 3 : 0,
           'targets' => [
               [
                   'class' => 'yii\log\FileTarget',
                   'levels' => ['error', 'warning'],
               ],
           ],
       ],
       'errorHandler' => [
           'errorAction' => 'site/error',
       ],
       'urlManager' => [
           'enablePrettyUrl' => true,
           'showScriptName' => false,
           //'enableStrictParsing' => true,
           'baseUrl' => $baseUrl,
           'rules' => [
               '/' => 'site/index',
               'logout' => 'site/logout',
               // users
               'users' => 'users/index',
               // tips
               'tips' => 'tips/index',
               'reports' => 'reports/index',
               'mails' => 'mail-content/create',
               'withdraw' => 'withdraw/index',
               '<controller:\w+>/<id:\d+>' => '<controller>/view',
               '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
               '<controller:\w+>/<action:\w+>' => '<controller>/<action>',
           ],
       ],
   ],
   'params' => $params,
];