Comment utiliser PHP PDO pour insérer des données dans une table MySQL

Dans ce tutoriel, vous apprendrez à utiliser PHP PDO pour insérer des données dans une table MySQL.

Nous utiliserons la taskstable que nous avons créée dans le tutoriel de création de table PHP MySQL . Si vous n'avez pas tasksencore créé la table, suivez le didacticiel et créez-la avant de continuer avec ce didacticiel.

L'image suivante illustre le taskstableau :

tableau des tâches

Pour insérer des données dans un tableau, procédez comme suit :

PHP MySQL Insérer des exemples de données

PHP MySQL : Insérer une nouvelle ligne dans un exemple de table

<?php

class InsertDataDemo {

    const DB_HOST = 'localhost';
    const DB_NAME = 'classicmodels';
    const DB_USER = 'root';
    const DB_PASSWORD = '';

    private $pdo = null;

    /**
     * Open the database connection
     */
    public function __construct() {
        // open database connection
        $conStr = sprintf("mysql:host=%s;dbname=%s", self::DB_HOST, self::DB_NAME);
        try {
            $this->pdo = new PDO($conStr, self::DB_USER, self::DB_PASSWORD);
        } catch (PDOException $pe) {
            die($pe->getMessage());
        }
    }
//...

L'exemple suivant montre comment insérer une nouvelle ligne dans le taskstableau.

/**
     * Insert a row into a table
     * @return
     */
    public function insert() {
        $sql = "INSERT INTO tasks (
                      subject,
                      description,
                      start_date,
                      end_date
                  )
                  VALUES (
                      'Learn PHP MySQL Insert Dat',
                      'PHP MySQL Insert data into a table',
                      '2013-01-01',
                      '2013-01-01'
                  )";

        return $this->pdo->exec($sql);
    }

Nous définissons la InsertDataDemoclasse avec un constructeur qui établit la connexion à la base de données et un destructeur qui ferme la connexion à la base de données. Voir le tutoriel de création de table PHP MySQL pour le code de ces méthodes.

Dans la InsertDataDemoclasse, nous définissons une méthode d'insertion qui appelle la exec()  méthode de l'objet PDO pour exécuter l' INSERTinstruction.

L'instruction suivante crée une instance de la InsertDataDemoclasse et appelle la insert()  méthode pour insérer une nouvelle ligne dans la table des tâches.

$obj = new InsertDataDemo();
$obj->insert();

Nous consultons les données du taskstableau :

SELECT *
  FROM tasks;
Exemple de tâche d'insertion PHP MySQL

 

PHP MySQL : insérer une seule ligne à l'aide de l'exemple d'instruction préparée

Pour transmettre dynamiquement et en toute sécurité des valeurs de PHP à l'instruction SQL, utilisez l'instruction préparée PDO.

Tout d'abord, utilisez l'instruction MySQL avec des espaces réservés nommés comme suit :

$sql = 'INSERT INTO tasks (
                      subject,
                      description,
                      start_date,
                      end_date
                  )
                  VALUES (
                      :subject,
                      :description,
                      :start_date,
                      :end_date
                  );';

Les éléments :sujet, :description, :date de début et :date de fin sont appelés espaces réservés nommés.

Deuxièmement, appelez la prepare()  méthode de l'objet PDO pour préparer l'exécution de l'instruction SQL :

$q = $pdo->prepare($sql);

Troisièmement, appelez la execute()  méthode et passez un tableau contenant les valeurs qui correspondent aux espaces réservés nommés.

$q->execute($task)

Mettre tous ensemble.

   /**
     * Insert a new task into the tasks table
     * @param string $subject
     * @param string $description
     * @param string $startDate
     * @param string $endDate
     * @return mixed returns false on failure 
     */
    function insertSingleRow($subject, $description, $startDate, $endDate) {
        $task = array(':subject' => $subject,
            ':description' => $description,
            ':start_date' => $startDate,
            ':end_date' => $endDate);

        $sql = 'INSERT INTO tasks (
                      subject,
                      description,
                      start_date,
                      end_date
                  )
                  VALUES (
                      :subject,
                      :description,
                      :start_date,
                      :end_date
                  );';

        $q = $this->pdo->prepare($sql);

        return $q->execute($task);
    }

Nous pouvons maintenant passer les données de la tâche à la insertSingleRow()méthode :

$obj->insertSingleRow('MySQL PHP Insert Tutorial', 
                          'MySQL PHP Insert using prepared statement', 
                          '2013-01-01', 
                          '2013-01-02');

Passons en revue le taskstableau :

Exemple d'instruction préparée de tâche d'insertion PHP MySQL

Exemple MySQL PHP Insérer plusieurs lignes dans une table

Il existe deux manières d'insérer plusieurs lignes dans un tableau :

  • Exécutez la insertSingleRow()  méthode plusieurs fois.
  • Créez une INSERTinstruction MySQL qui insère plusieurs lignes et l'exécute.

Télécharger

Vous pouvez télécharger le code source de ce tutoriel via le lien suivant :

Télécharger PHP MySQL Insérer le code source

Dans ce didacticiel, vous avez appris à insérer des données dans une table MySQL à l'aide de l'instruction préparée PHP PDO.

What is GEEK

Buddha Community

Joe  Hoppe

Joe Hoppe

1595905879

Best MySQL DigitalOcean Performance – ScaleGrid vs. DigitalOcean Managed Databases

HTML to Markdown

MySQL is the all-time number one open source database in the world, and a staple in RDBMS space. DigitalOcean is quickly building its reputation as the developers cloud by providing an affordable, flexible and easy to use cloud platform for developers to work with. MySQL on DigitalOcean is a natural fit, but what’s the best way to deploy your cloud database? In this post, we are going to compare the top two providers, DigitalOcean Managed Databases for MySQL vs. ScaleGrid MySQL hosting on DigitalOcean.

At a glance – TLDR
ScaleGrid Blog - At a glance overview - 1st pointCompare Throughput
ScaleGrid averages almost 40% higher throughput over DigitalOcean for MySQL, with up to 46% higher throughput in write-intensive workloads. Read now

ScaleGrid Blog - At a glance overview - 2nd pointCompare Latency
On average, ScaleGrid achieves almost 30% lower latency over DigitalOcean for the same deployment configurations. Read now

ScaleGrid Blog - At a glance overview - 3rd pointCompare Pricing
ScaleGrid provides 30% more storage on average vs. DigitalOcean for MySQL at the same affordable price. Read now

MySQL DigitalOcean Performance Benchmark
In this benchmark, we compare equivalent plan sizes between ScaleGrid MySQL on DigitalOcean and DigitalOcean Managed Databases for MySQL. We are going to use a common, popular plan size using the below configurations for this performance benchmark:

Comparison Overview
ScaleGridDigitalOceanInstance TypeMedium: 4 vCPUsMedium: 4 vCPUsMySQL Version8.0.208.0.20RAM8GB8GBSSD140GB115GBDeployment TypeStandaloneStandaloneRegionSF03SF03SupportIncludedBusiness-level support included with account sizes over $500/monthMonthly Price$120$120

As you can see above, ScaleGrid and DigitalOcean offer the same plan configurations across this plan size, apart from SSD where ScaleGrid provides over 20% more storage for the same price.

To ensure the most accurate results in our performance tests, we run the benchmark four times for each comparison to find the average performance across throughput and latency over read-intensive workloads, balanced workloads, and write-intensive workloads.

Throughput
In this benchmark, we measure MySQL throughput in terms of queries per second (QPS) to measure our query efficiency. To quickly summarize the results, we display read-intensive, write-intensive and balanced workload averages below for 150 threads for ScaleGrid vs. DigitalOcean MySQL:

ScaleGrid MySQL vs DigitalOcean Managed Databases - Throughput Performance Graph

For the common 150 thread comparison, ScaleGrid averages almost 40% higher throughput over DigitalOcean for MySQL, with up to 46% higher throughput in write-intensive workloads.

#cloud #database #developer #digital ocean #mysql #performance #scalegrid #95th percentile latency #balanced workloads #developers cloud #digitalocean droplet #digitalocean managed databases #digitalocean performance #digitalocean pricing #higher throughput #latency benchmark #lower latency #mysql benchmark setup #mysql client threads #mysql configuration #mysql digitalocean #mysql latency #mysql on digitalocean #mysql throughput #performance benchmark #queries per second #read-intensive #scalegrid mysql #scalegrid vs. digitalocean #throughput benchmark #write-intensive

I am Developer

1597487472

Country State City Dropdown list in PHP MySQL PHP

Here, i will show you how to populate country state city in dropdown list in php mysql using ajax.

Country State City Dropdown List in PHP using Ajax

You can use the below given steps to retrieve and display country, state and city in dropdown list in PHP MySQL database using jQuery ajax onchange:

  • Step 1: Create Country State City Table
  • Step 2: Insert Data Into Country State City Table
  • Step 3: Create DB Connection PHP File
  • Step 4: Create Html Form For Display Country, State and City Dropdown
  • Step 5: Get States by Selected Country from MySQL Database in Dropdown List using PHP script
  • Step 6: Get Cities by Selected State from MySQL Database in DropDown List using PHP script

https://www.tutsmake.com/country-state-city-database-in-mysql-php-ajax/

#country state city drop down list in php mysql #country state city database in mysql php #country state city drop down list using ajax in php #country state city drop down list using ajax in php demo #country state city drop down list using ajax php example #country state city drop down list in php mysql ajax

Comment utiliser PHP PDO pour insérer des données dans une table MySQL

Dans ce tutoriel, vous apprendrez à utiliser PHP PDO pour insérer des données dans une table MySQL.

Nous utiliserons la taskstable que nous avons créée dans le tutoriel de création de table PHP MySQL . Si vous n'avez pas tasksencore créé la table, suivez le didacticiel et créez-la avant de continuer avec ce didacticiel.

L'image suivante illustre le taskstableau :

tableau des tâches

Pour insérer des données dans un tableau, procédez comme suit :

PHP MySQL Insérer des exemples de données

PHP MySQL : Insérer une nouvelle ligne dans un exemple de table

<?php

class InsertDataDemo {

    const DB_HOST = 'localhost';
    const DB_NAME = 'classicmodels';
    const DB_USER = 'root';
    const DB_PASSWORD = '';

    private $pdo = null;

    /**
     * Open the database connection
     */
    public function __construct() {
        // open database connection
        $conStr = sprintf("mysql:host=%s;dbname=%s", self::DB_HOST, self::DB_NAME);
        try {
            $this->pdo = new PDO($conStr, self::DB_USER, self::DB_PASSWORD);
        } catch (PDOException $pe) {
            die($pe->getMessage());
        }
    }
//...

L'exemple suivant montre comment insérer une nouvelle ligne dans le taskstableau.

/**
     * Insert a row into a table
     * @return
     */
    public function insert() {
        $sql = "INSERT INTO tasks (
                      subject,
                      description,
                      start_date,
                      end_date
                  )
                  VALUES (
                      'Learn PHP MySQL Insert Dat',
                      'PHP MySQL Insert data into a table',
                      '2013-01-01',
                      '2013-01-01'
                  )";

        return $this->pdo->exec($sql);
    }

Nous définissons la InsertDataDemoclasse avec un constructeur qui établit la connexion à la base de données et un destructeur qui ferme la connexion à la base de données. Voir le tutoriel de création de table PHP MySQL pour le code de ces méthodes.

Dans la InsertDataDemoclasse, nous définissons une méthode d'insertion qui appelle la exec()  méthode de l'objet PDO pour exécuter l' INSERTinstruction.

L'instruction suivante crée une instance de la InsertDataDemoclasse et appelle la insert()  méthode pour insérer une nouvelle ligne dans la table des tâches.

$obj = new InsertDataDemo();
$obj->insert();

Nous consultons les données du taskstableau :

SELECT *
  FROM tasks;
Exemple de tâche d'insertion PHP MySQL

 

PHP MySQL : insérer une seule ligne à l'aide de l'exemple d'instruction préparée

Pour transmettre dynamiquement et en toute sécurité des valeurs de PHP à l'instruction SQL, utilisez l'instruction préparée PDO.

Tout d'abord, utilisez l'instruction MySQL avec des espaces réservés nommés comme suit :

$sql = 'INSERT INTO tasks (
                      subject,
                      description,
                      start_date,
                      end_date
                  )
                  VALUES (
                      :subject,
                      :description,
                      :start_date,
                      :end_date
                  );';

Les éléments :sujet, :description, :date de début et :date de fin sont appelés espaces réservés nommés.

Deuxièmement, appelez la prepare()  méthode de l'objet PDO pour préparer l'exécution de l'instruction SQL :

$q = $pdo->prepare($sql);

Troisièmement, appelez la execute()  méthode et passez un tableau contenant les valeurs qui correspondent aux espaces réservés nommés.

$q->execute($task)

Mettre tous ensemble.

   /**
     * Insert a new task into the tasks table
     * @param string $subject
     * @param string $description
     * @param string $startDate
     * @param string $endDate
     * @return mixed returns false on failure 
     */
    function insertSingleRow($subject, $description, $startDate, $endDate) {
        $task = array(':subject' => $subject,
            ':description' => $description,
            ':start_date' => $startDate,
            ':end_date' => $endDate);

        $sql = 'INSERT INTO tasks (
                      subject,
                      description,
                      start_date,
                      end_date
                  )
                  VALUES (
                      :subject,
                      :description,
                      :start_date,
                      :end_date
                  );';

        $q = $this->pdo->prepare($sql);

        return $q->execute($task);
    }

Nous pouvons maintenant passer les données de la tâche à la insertSingleRow()méthode :

$obj->insertSingleRow('MySQL PHP Insert Tutorial', 
                          'MySQL PHP Insert using prepared statement', 
                          '2013-01-01', 
                          '2013-01-02');

Passons en revue le taskstableau :

Exemple d'instruction préparée de tâche d'insertion PHP MySQL

Exemple MySQL PHP Insérer plusieurs lignes dans une table

Il existe deux manières d'insérer plusieurs lignes dans un tableau :

  • Exécutez la insertSingleRow()  méthode plusieurs fois.
  • Créez une INSERTinstruction MySQL qui insère plusieurs lignes et l'exécute.

Télécharger

Vous pouvez télécharger le code source de ce tutoriel via le lien suivant :

Télécharger PHP MySQL Insérer le code source

Dans ce didacticiel, vous avez appris à insérer des données dans une table MySQL à l'aide de l'instruction préparée PHP PDO.

Fredy  Larson

Fredy Larson

1595209620

How to alter tables in production when records are in millions

As a developer, I have experienced changes in app when it is in production and the records have grown up to millions. In this specific case if you want to alter a column using simple migrations that will not work because of the following reasons:

It is not so easy if your production servers are under heavy load and the database tables have 100 million rows. Because such a migration will run for some seconds or even minutes and the database table can be locked for this time period – a no-go on a zero-downtime environment.

In this specific case you can use MySQL’s algorithms: Online DDL operations. That’s how you can do it in Laravel.

First of all create migration. For example I want to modify a column’s name the traditional migration will be:

Schema::table('users', function (Blueprint $table) {
            $table->renameColumn('name', 'first_name');
        });

Run the following command php artisan migrate –pretend this command will not run the migration rather it will print out it’s raw sql:

ALTER TABLE users CHANGE name first_name VARCHAR(191) NOT NULL

Copy that raw sql, remove following code:

Schema::table('users', function (Blueprint $table) {
            $table->renameColumn('name', 'first_name');
        });

Replace it with following in migrations up method:

\DB::statement('ALTER TABLE users CHANGE name first_name VARCHAR(191) NOT NULL');

Add desired algorithm, in my case query will look like this:

\DB::statement('ALTER TABLE users CHANGE name first_name VARCHAR(191) NOT NULL, ALGORITHM=INPLACE, LOCK=NONE;');

#laravel #mysql #php #alter heavy tables in production laravel #alter table in production laravel #alter tables with million of records in laravel #how to alter heavy table in production laravel #how to alter table in production larave #mysql online ddl operations

Julie  Donnelly

Julie Donnelly

1591428960

Comment utiliser le type de données BLOB MySQL pour stocker des images avec PHP sur Ubuntu

Un Binary Large Object (BLOB) est un type de données MySQL qui peut stocker des données binaires telles que des images, du multimédia et des fichiers PDF.

Lors de la création d’applications qui nécessitent une base de données étroitement couplée où les images doivent être synchronisées avec les données connexes (par exemple, un portail d’employés, une base de données d’étudiants ou une application financière), vous pouvez trouver pratique de stocker des images telles que les photos et signatures de passeport des étudiants dans une base de données MySQL avec d’autres informations connexes.

C’est là qu’intervient le type de données MySQL BLOB. Cette approche de programmation élimine la nécessité de créer un système de fichiers séparé pour le stockage des images. Le système centralise également la base de données, la rendant plus portable et plus sécurisée car les données sont isolées du système de fichiers. La création de sauvegardes est également plus transparente puisque vous pouvez créer un seul fichier MySQL dump qui contient toutes vos données.

#php #mysql