magento批量清除产品和分类
在magento的开发和模板调试的时候都需要加入一些分类和产品,等到网站正式上线的时候又是很麻烦的事情,所以自己写了一个php,用于清除产品和分类
$path="/var/html" //网站的目录
//include("mysql.class.php");
if($_POST[web]){
$web=$_POST[web];
$xml=simplexml_load_file("/$path/$web/app/etc/local.xml"); //读取xml文件
$dbname=$xml->global->resources->default_setup->connection->dbname;
$password=$xml->global->resources->default_setup->connection->password;
$username=$xml->global->resources->default_setup->connection->username;
echo "dbname:$dbname"."
";
echo "password:$password"."
";
$mysqli=new mysqli("localhost","$username","$password","$dbname");
//以下是清除语句
$csql1="TRUNCATE TABLE `catalog_category_entity`";
$csql2="TRUNCATE TABLE `catalog_category_entity_datetime`";
$csql3="TRUNCATE TABLE `catalog_category_entity_decimal`";
$csql4="TRUNCATE TABLE `catalog_category_entity_int`";
$csql5="TRUNCATE TABLE `catalog_category_entity_text`";
$csql6="TRUNCATE TABLE `catalog_category_entity_varchar`";
$csql7="TRUNCATE TABLE `catalog_category_product`";
$csql8="TRUNCATE TABLE `catalog_category_product_index`";
$csql9="INSERT INTO `catalog_category_entity`(`entity_id`,`entity_type_id`,`attribute_set_id`,`parent_id`,`created_at`,`updated_at`,`path`,`POSITION`,`level`,`children_count`) VALUES (1,3,0,0,'0000-00-00 00:00:00','2009-02-20 00:25:34','1',1,0,1),(2,3,3,0,'2009-02-20 00:25:34','2009-02-20 00:25:34','1/2',1,1,0)";
$csql10="INSERT INTO `catalog_category_entity_int`(`value_id`,`entity_type_id`,`attribute_id`,`store_id`,`entity_id`,`value`) VALUES (1,3,32,0,2,1),(2,3,32,1,2,1)";
$csql11="INSERT INTO `catalog_category_entity_varchar`(`value_id`,`entity_type_id`,`attribute_id`,`store_id`,`entity_id`,`value`) VALUES (1,3,31,0,1,'Root Catalog'),(2,3,33,0,1,'root-catalog'),(3,3,31,0,2,'Default Category'),(4,3,39,0,2,'PRODUCTS'),(5,3,33,0,2,'default-category')";
$sqls="$csql1;$csql2;$csql3;$csql4;$csql5;$csql6;$csql7;$csql8;$csql9;$csql10;$csql11";
$dsql="TRUNCATE TABLE `catalog_product_bundle_option`;";
$dsql.=" TRUNCATE TABLE `catalog_product_bundle_option_value`;";
$dsql.=" TRUNCATE TABLE `catalog_product_bundle_selection`;";
$dsql.=" TRUNCATE TABLE `catalog_product_entity_datetime`;";
$dsql.=" TRUNCATE TABLE `catalog_product_entity_decimal`;";
$dsql.=" TRUNCATE TABLE `catalog_product_entity_gallery`;";
$dsql.=" TRUNCATE TABLE `catalog_product_entity_int`;";
$dsql.=" TRUNCATE TABLE `catalog_product_entity_media_gallery`;";
$dsql.=" TRUNCATE TABLE `catalog_product_entity_media_gallery_value`;";
$dsql.=" TRUNCATE TABLE `catalog_product_entity_text`;";
$dsql.=" TRUNCATE TABLE `catalog_product_entity_tier_price`;";
$dsql.=" TRUNCATE TABLE `catalog_product_entity_varchar`;";
$dsql.=" TRUNCATE TABLE `catalog_product_link`;";
$dsql.=" TRUNCATE TABLE `catalog_product_link_attribute`;";
$dsql.=" TRUNCATE TABLE `catalog_product_link_attribute_decimal`;";
$dsql.=" TRUNCATE TABLE `catalog_product_link_attribute_int`;";
$dsql.=" TRUNCATE TABLE `catalog_product_link_attribute_varchar`;";
$dsql.=" TRUNCATE TABLE `catalog_product_link_type`;";
$dsql.=" TRUNCATE TABLE `catalog_product_option`;";
$dsql.=" TRUNCATE TABLE `catalog_product_option_price`;";
$dsql.=" TRUNCATE TABLE `catalog_product_option_title`;";
$dsql.=" TRUNCATE TABLE `catalog_product_option_type_price`;";
$dsql.=" TRUNCATE TABLE `catalog_product_option_type_title`";
$dsql.=" TRUNCATE TABLE `catalog_product_option_type_value`;";
$dsql.=" TRUNCATE TABLE `catalog_product_super_attribute`;";
$dsql.=" TRUNCATE TABLE `catalog_product_super_attribute_label`;";
$dsql.=" TRUNCATE TABLE `catalog_product_super_attribute_pricing`;";
$dsql.=" TRUNCATE TABLE `catalog_product_super_link`;";
$dsql.=" TRUNCATE TABLE `catalog_product_enabled_index`;";
$dsql.=" TRUNCATE TABLE `catalog_product_website`;";
$dsql.=" TRUNCATE TABLE `catalog_product_entity`;";
$dsql.=" TRUNCATE TABLE `cataloginventory_stock`;";
$dsql.=" TRUNCATE TABLE `cataloginventory_stock_item`;";
$dsql.=" TRUNCATE TABLE `cataloginventory_stock_status`;";
$dsql.=" INSERT INTO `catalog_product_link_type`(`link_type_id`,`code`) VALUES (1,'relation'),(2,'bundle'),(3,'super'),(4,'up_sell'),(5,'cross_sell');";
$dsql.=" INSERT INTO `catalog_product_link_attribute`(`product_link_attribute_id`,`link_type_id`,`product_link_attribute_code`,`data_type`) VALUES (1,2,'qty','decimal'),(2,1,'position','int'),(3,4,'position','int'),(4,5,'position','int'),(6,1,'qty','decimal'),(7,3,'position','int'),(8,3,'qty','decimal');";
$dsql.=" INSERT INTO `cataloginventory_stock`(`stock_id`,`stock_name`) VALUES (1,'Default')";
echo $sqls."
";
echo $dsql."
";
$sql="$dsql;$sqls";
if($mysqli->multi_query($sql)){
echo "CheckProduct Ok".$mysqli->insert_id."
";
echo "affected_rows".$mysqli->affected_rows."
";
}
else{
echo"CheckProduct false";
}
$mysqli->close();
}
?>
本文出自 “mcshell学习博客” 博客

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment utiliser LeakSanitizer pour déboguer les fuites de mémoire C++ ? Installez LeakSanitizer. Activez LeakSanitizer via l'indicateur de compilation. Exécutez l’application et analysez le rapport LeakSanitizer. Identifiez les types d’allocation de mémoire et les emplacements d’allocation. Corrigez les fuites de mémoire et assurez-vous que toute la mémoire allouée dynamiquement est libérée.

Cet article présente des raccourcis pour le débogage et l'analyse de la fonction Go, notamment : le débogueur intégré dlv, qui est utilisé pour suspendre l'exécution, vérifier les variables et définir des points d'arrêt. Journalisation, utilisez le package de journaux pour enregistrer les messages et les afficher pendant le débogage. L'outil d'analyse des performances pprof génère des graphiques d'appels et analyse les performances, et utilise gotoolpprof pour analyser les données. Cas pratique : Analyser les fuites mémoire via pprof et générer un graphe d'appel pour afficher les fonctions à l'origine des fuites.

Tests de concurrence et débogage Les tests de concurrence et le débogage dans la programmation simultanée Java sont cruciaux et les techniques suivantes sont disponibles : Tests de concurrence : tests unitaires : isolez et testez une seule tâche simultanée. Tests d'intégration : tester l'interaction entre plusieurs tâches simultanées. Tests de charge : évaluez les performances et l'évolutivité d'une application sous une charge importante. Débogage simultané : points d'arrêt : suspendez l'exécution du thread et inspectez les variables ou exécutez le code. Journalisation : enregistrez les événements et l'état du fil. Trace de pile : identifiez la source de l’exception. Outils de visualisation : surveillez l'activité des threads et l'utilisation des ressources.

Les outils de débogage du code asynchrone PHP incluent : Psalm : un outil d'analyse statique qui trouve les erreurs potentielles. ParallelLint : un outil qui inspecte le code asynchrone et fournit des recommandations. Xdebug : Une extension pour déboguer les applications PHP en activant une session et en parcourant le code. D'autres conseils incluent l'utilisation de la journalisation, des assertions, l'exécution de code localement et l'écriture de tests unitaires.

Les erreurs courantes de débogage PHP incluent : Erreurs de syntaxe : vérifiez la syntaxe du code pour vous assurer qu'il n'y a pas d'erreurs. Variable non définie : avant d'utiliser une variable, assurez-vous qu'elle est initialisée et qu'une valeur lui est attribuée. Point-virgules manquants : ajoutez des points-virgules à tous les blocs de code. La fonction n'est pas définie : vérifiez que le nom de la fonction est correctement orthographié et assurez-vous que le bon fichier ou l'extension PHP est chargé.

Les techniques suivantes sont disponibles pour déboguer les fonctions récursives : Vérifier la trace de la pileDéfinir les points de débogageVérifier si le cas de base est correctement implémentéCompter le nombre d'appels récursifsVisualiser la pile récursive

Les nouvelles fonctionnalités des fonctions PHP simplifient considérablement le processus de développement, notamment : Fonction flèche : fournit une syntaxe de fonction anonyme concise pour réduire la redondance du code. Déclaration de type de propriété : spécifiez les types pour les propriétés de classe, améliorez la lisibilité et la fiabilité du code et effectuez automatiquement la vérification du type au moment de l'exécution. Opérateur null : vérifie et gère de manière concise les valeurs nulles, peut être utilisé pour gérer les paramètres facultatifs.

En utilisant la lumière pour entraîner les réseaux neuronaux, les résultats de l’Université Tsinghua ont été récemment publiés dans Nature ! Que dois-je faire si je ne parviens pas à appliquer l’algorithme de rétropropagation ? Ils ont proposé une méthode de formation en mode entièrement avancé (FFM) qui exécute directement le processus de formation dans le système optique physique, surmontant ainsi les limites des simulations informatiques numériques traditionnelles. Pour faire simple, il fallait autrefois modéliser le système physique en détail puis simuler ces modèles sur un ordinateur pour entraîner le réseau. La méthode FFM élimine le processus de modélisation et permet au système d'utiliser directement les données expérimentales pour l'apprentissage et l'optimisation. Cela signifie également que la formation n'a plus besoin de vérifier chaque couche d'avant en arrière (rétropropagation), mais peut directement mettre à jour les paramètres du réseau d'avant en arrière. Pour utiliser une analogie, comme un puzzle, la rétropropagation
