Skip to content

Instantly share code, notes, and snippets.

@lucnap
Created May 23, 2019 08:41
Show Gist options
  • Save lucnap/30161d5c476f31811cb36ac75d33ebf5 to your computer and use it in GitHub Desktop.
Save lucnap/30161d5c476f31811cb36ac75d33ebf5 to your computer and use it in GitHub Desktop.
How to replace a string in all fields of a table in Mysql with PHP
<?php
$host = 'localhost';
$user = 'root';
$pass = '--------------';
$db = 'rmadata';
$conn = new mysqli($host, $user, $pass, $db);
$thisword = "\r\n";
$shouldbe = " ";
$thistable = "rma";
MySQL_replace_all($thisword, $shouldbe, $thistable, $conn);
function MySQL_replace_all($thisword, $shouldbe, $thistable, $conn){
$cnamnes = "SHOW columns FROM " . $thistable;
$result = $conn->query($cnamnes);
while($columnname = $result->fetch_assoc()) {
$replace_SQL = "UPDATE $thistable SET ". $columnname['Field'] ." = TRIM( REPLACE(". $columnname['Field'] .",'". $thisword ."', '". $shouldbe ."') );";
echo $replace_SQL . "\r\n";
$conn->query($replace_SQL);
}
}
/*
To execute in Mysql:
set session group_concat_max_len = 1000000;
select GROUP_CONCAT(CONCAT('"', COLUMN_NAME, '"')) as col_names from INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = "rma" ORDER BY ORDINAL_POSITION
result:
"ID";"ID_TransazioneInviata";"ID_TransazioneRicevuta";"NumOrdine";"DataOrdine";"CodRaggrupSped";"NumSchedaLab";"DataDDTCentro";"NumDDTCentro";"NRAWB";"DataIngresso";"ImeiAtteso";"ImeiEntrato";"MeccanicoEntrato";"MarchioEntrato";"ModelloEntrato";"CodProdottoEntrato";"DesProdottoEntrato";"DataProduzione";"DataScontrino";"CodStato";"DesStato";"CodSottoStato";"DesSottoStato";"LavorazioneEffettuata";"DataRiparazione";"Commento";"MotivoResoGuasto";"MotivoPreventivoDifferente";"PrezzoPreventivo";"Prezzo";"DataBollaOut";"NumBollaOut";"AWBOut";"ModelloUscito";"CodProdottoUscito";"ImeiUscito";"MeccanicoUscito";"TipoApparato";"Marchio";"Modello";"Imei";"CodArticolo";"DesArticolo";"StatoGenerale";"AccessoriConsegnati";"CodiceSblocco";"CodicePIN";"DescrizioneDifetto";"Annotazioni";"Garanzia";"DataAcquisto";"TipoRiparazione";"PrezzoRiparazione";"PreventivoIniziale";"CliFinNome";"CliFinCognome";"CliFinIndirizzo";"CliFinLocalita";"CliFinCap";"CliFinProv";"CliFinNazione";"CliFinTelefono";"CliFinEmail";"CodCdr";"RagSocCDR";"IndirizzoCDR";"CapCDR";"CittaCDR";"ProvCDR";"Nazione";"TelefonoCDR";"EmailCDR";"PivaCDR";"CodicePOS";"Laboratorio";"TipoRettifica";"NuovoPreventivoAccettato";"PreventivoNuovo";"Marcatore";"Fatturato";"DaFatturare";"PrzCessioneFatturato";"OTP";"ID_CliFin";"ID_Marca";"ID";"ID_TransazioneInviata";"ID_TransazioneRicevuta";"NumOrdine";"DataOrdine";"CodRaggrupSped";"NumSchedaLab";"DataDDTCentro";"NumDDTCentro";"NRAWB";"DataIngresso";"ImeiAtteso";"ImeiEntrato";"MeccanicoEntrato";"MarchioEntrato";"ModelloEntrato";"CodProdottoEntrato";"DesProdottoEntrato";"DataProduzione";"DataScontrino";"CodStato";"DesStato";"CodSottoStato";"DesSottoStato";"LavorazioneEffettuata";"DataRiparazione";"Commento";"MotivoResoGuasto";"MotivoPreventivoDifferente";"PrezzoPreventivo";"Prezzo";"DataBollaOut";"NumBollaOut";"AWBOut";"ModelloUscito";"CodProdottoUscito";"ImeiUscito";"MeccanicoUscito";"TipoApparato";"Marchio";"Modello";"Imei";"CodArticolo";"DesArticolo";"StatoGenerale";"AccessoriConsegnati";"CodiceSblocco";"CodicePIN";"DescrizioneDifetto";"Annotazioni";"Garanzia";"DataAcquisto";"TipoRiparazione";"PrezzoRiparazione";"PreventivoIniziale";"CliFinNome";"CliFinCognome";"CliFinIndirizzo";"CliFinLocalita";"CliFinCap";"CliFinProv";"CliFinNazione";"CliFinTelefono";"CliFinEmail";"CodCdr";"RagSocCDR";"IndirizzoCDR";"CapCDR";"CittaCDR";"ProvCDR";"Nazione";"TelefonoCDR";"EmailCDR";"PivaCDR";"CodicePOS";"Laboratorio";"TipoRettifica";"NuovoPreventivoAccettato";"PreventivoNuovo";"Marcatore";"Fatturato";"DaFatturare";"PrzCessioneFatturato";"OTP"
with this we have the folder we are allowed to to store the extracted data:
SELECT @@global.secure_file_priv;
SELECT *
FROM rma
WHERE ID > 0
INTO OUTFILE 'C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/rma.csv'
FIELDS TERMINATED BY ';'
ENCLOSED BY '"'
LINES TERMINATED BY '\r\n';
open the extracted file data with and editor and substitute all the occurrences of ;\N with ;""
*/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment