Groups | Search | Server Info | Login | Register


Groups > it.comp.www.php > #23062

Errore su LOAD DATA LOCAL INFILE verso MariaDB (Debian Bookworm)

From ^Bart <gabriele1NOSPAM@hotmail.com>
Newsgroups it.comp.www.php
Subject Errore su LOAD DATA LOCAL INFILE verso MariaDB (Debian Bookworm)
Date 2023-11-02 16:07 +0100
Organization A noiseless patient Spider
Message-ID <ui0e0f$28nrf$1@dont-email.me> (permalink)

Show all headers | View raw


Salve,

se mi loggo all'interno di MariaDB e lancio il seguente comando tutto 
funziona:

MariaDB [my_database]> source query.sql;

Di seguito il contenuto di query.sql

USE my_database;
TRUNCATE items_temp;

LOAD DATA LOCAL INFILE '/home/itoffice/data_bridge/items.txt'
INTO TABLE items_temp
FIELDS TERMINATED BY '\t'
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES
(id_tc_anartic, cod_art, desc_art, ump, umi, coef_ump_umi, gest_maga, 
cod_iva, cod_cat_cont, desc_cat_cont, cod_class_pat, art_stato,
disabilitato, ean, peso_netto, peso_lordo, um_peso, lunghezza, 
larghezza, altezza, diametro, cod_cat01, desc_cat01,
cod_cat02, desc_cat02, cod_cat03, desc_cat03, cod_cat04, desc_cat04, 
cod_cat05, desc_cat05, cod_cat06, desc_cat06, cod_cat07,
desc_cat07, cod_cat08, desc_cat08, cod_cat09, desc_cat09, cod_cat10, 
desc_cat10, cod_cat11, desc_cat11, cod_cat12, desc_cat12,
cod_cat13, desc_cat13, cod_cat14, desc_cat14, cod_cat15, desc_cat15, 
cod_cat16, desc_cat16, cod_cat17, desc_cat17, cod_cat18,
desc_cat18, cod_cat19, desc_cat19, cod_cat20, desc_cat20, dt_creazione, 
dt_last_upd);

Quindi cosa ci vuole a metterlo in uno script php?

<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);

// Parametri da inserire per collegarsi al DB
$servername = "localhost";
$username = "my_user";
$password = "my_password";
$database = "my_database";
$options = [MYSQLI_OPT_LOCAL_INFILE => true];
$conn = mysqli_connect($servername, $username, $password, $database);
$conn->options(MYSQLI_OPT_LOCAL_INFILE, true);

if (!$conn) {
     die("Connessione al database fallita: " . mysqli_connect_error());
}

// Query SQL
$query = "USE my_database;
TRUNCATE items_temp;

LOAD DATA LOCAL INFILE '/home/itoffice/data_bridge/items.txt'
INTO TABLE items_temp
FIELDS TERMINATED BY '\t'
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES
(id_tc_anartic, cod_art, desc_art, ump, umi, coef_ump_umi, gest_maga, 
cod_iva, cod_cat_cont, desc_cat_cont, cod_class_pat, art_stato, 
disabilitato, ean, peso_netto, peso_lordo, um_peso, lunghezza, 
larghezza, altezza, diametro, cod_cat01, desc_cat01, cod_cat02, 
desc_cat02, cod_cat03, desc_cat03, cod_cat04, desc_cat04, cod_cat05, 
desc_cat05, cod_cat06, desc_cat06, cod_cat07, desc_cat07, cod_cat08, 
desc_cat08, cod_cat09, desc_cat09, cod_cat10, desc_cat10, cod_cat11, 
desc_cat11, cod_cat12, desc_cat12, cod_cat13, desc_cat13, cod_cat14, 
desc_cat14, cod_cat15, desc_cat15, cod_cat16, desc_cat16, cod_cat17, 
desc_cat17, cod_cat18, desc_cat18, cod_cat19, desc_cat19, cod_cat20, 
desc_cat20, dt_creazione, dt_last_upd)";

if (mysqli_multi_query($conn, $query)) {
     echo "Query eseguita con successo.";
} else {
     echo "Errore nell'esecuzione della query: " . mysqli_error($conn);
}

mysqli_close($conn);
?>

Questo è il risultato:
$ php articoli_test3.php
Query eseguita con successo. (ma di fatto è stato in grado di eseguire 
solo TRUNCATE).

Ho modificato anche il file php.ini ma... nisba :\
; Allow accessing, from PHP's perspective, local files with LOAD DATA 
statements
; https://php.net/mysqli.allow_local_infile
mysqli.allow_local_infile = On

Cosa potrei controllare ulteriormente?

^Bart

Back to it.comp.www.php | Previous | NextNext in thread | Find similar


Thread

Errore su LOAD DATA LOCAL INFILE verso MariaDB (Debian Bookworm) ^Bart <gabriele1NOSPAM@hotmail.com> - 2023-11-02 16:07 +0100
  Re: Errore su LOAD DATA LOCAL INFILE verso MariaDB (Debian Bookworm) fmigliori <fmigliori@gmail.com> - 2023-11-02 09:45 -0700
    Re: Errore su LOAD DATA LOCAL INFILE verso MariaDB (Debian Bookworm) ^Bart <none@none.it> - 2023-11-02 21:23 +0100

csiph-web