[Résolu] [Dolibarr 9.0] Erreur import en PHP

Bonjour à tous,
Tout d’abord milles excuses si mon post n’est pas dans la bonne section du forum.
J’ai créer un petit script PHP qui importe des tiers, commandes et produits depuis un fichier texte mais comme indiqué dans le titre, j’ai des problèmes pour l’ajout de produits.
Voici l’erreur retourné :

Ce qui est étonnant c’est que le ou les produits s’ajoutent quand même dans la base de données mais pas toutes les informations que j’ai remplis. La description ou le prix pour donner un exemple n’est pas rempli.

Quelqu’un aurait il une idée de comment régler ce problème avec la base de donnée?
Merci

Salut Imperium,

effectivement étrange que malgré une erreur, normalement bloquante, une partie de tes données soit quand même importée.
L’erreur doit venir de contrainte de la bdd (c’est donc mysql qui te jette)

Tu peux poster ton script ?

Oui, à la base il n’importait rien mais maintenant il fais une partie comme tu dis…Je n’y comprend plus rien ^^
Je te passe le script tout de suite :

 
$fichierProd = fopen("produits.txt", "r");
$tabProd = [];

while(!feof($fichierProd))
{
	$ligne = fgets($fichierProd, filesize('produits.txt'));
	array_push($tabProd, explode(";", $ligne));
}

fclose($fichierProd);

for ($i=0; $i<count($tabProd); $i++)
{
	$produits = new Product($db);
	
	$produits->ref_ext = $tabProd[$i][0];
	$produits->ref = $tabProd[$i][2];
	$produits->label = $tabProd[$i][1];
	$produits->type = 0;

	if ($tabProd[$i][9] == "publish")
		$produits->status = 1;
	else
		$produits->status = 0;
		
	if ($tabProd[$i][10] == "achetable")
		$produits->status_buy = 1;
	else
		$produits->status_buy = 0;

	$produits->description = $tabProd[$i][3];
	$produits->price = $tabProd[$i][4];
	$produits->price_base_type = "TTC";
	$produits->tva_tx = "19.6";
	$produits->stock = $tabProd[$i][6];
			

	// On invoque la creation 
	$id=$produits->create($user); 
		
	if ($id > 0)
		echo "Le produit a été corectement ajouté <br/>";
		
	else
		echo "Erreur detecté lors de l'ajout du produit".$id." <br/>";
}

Je te passe aussi le script en entier.
Merci pour ta réponse :happy:

script.rar (2.36 KB)

Mon erreur était stupide, c’était juste un problème d’identification dans le script…Je me demande pourquoi l’ajout de tiers ne m’as pas posé de problèmes.
Je ne sais pas comment mettre en résolu

ah bah … j’allais justement te répondre pour ça (enfin… te poser des questions en ce sens …)… tu as été plus rapide !
Félicitations à toi d’avoir trouvé, ça n’était pas trivial:happy:

pour mettre en résolu, tu édites ton premier post et tu ajoutes « [RESOLU] » au début du sujet.

1 « J'aime »