[PHP] [SQL] Erreur introuvable

poulap -  
SchSoftware Messages postés 46 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,


j'ai une erreur dans mon script php :

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /opt/data/N001/558/47/kadolis.com/ajouter_pack.php on line 10

voici le code :

<?php

include('configuration/configuration.php');
include('includes/fonctions.php');

$req = mysql_query("SELECT pitpo.products_id, products_option, fabricant_id, categories_id, fournisseurs_id, products_name_1, products_price
FROM products_id_to_products_options_id AS pitpo
JOIN products ON products.products_id = pitpo.products_id");

while ($row = mysql_fetch_array($req)){

// echo $row['products_option']."<br/>";

$opt = explode(",",$row['products_option']);

foreach($opt as $item){
if (!empty($item)){
$opt1 = explode("::", $item);
$option = $opt1[0];
$priceMod = $opt1[1];
$poids = $opt1[2];
$qt = $opt1[3];
$ref = $opt1[4];
$prixAchat = $opt1[5];
$q = mysql_query("SELECT * FROM products where products_ref='".$ref."'");
$nb = ($q===false || mysql_num_rows($q)==0);
if ($nb == 0){
$qq = mysql_query("SELECT * FROM Compose WHERE master_id = '".$row['products_id']."'");
$nb1 = ($qq===false || mysql_num_rows($qq)==0);
if ($nb1){
ecrirelog("ajout du produit de ref : $ref");
$sql ="INSERT INTO products
(categories_id,
fournisseurs_id,
fabricant_id,
products_name_1,
products_price,
products_ref,
products_visible,
products_qt,
products_achat)
VALUES
('".$row['categories_id']."',
'".$row['fournisseurs_id']."',
'".$row['fabricant_id']."',
'".$row['products_name_1']." ".$option."',
'".($row['products_price'] + $priceMod)."',
'".$ref."',
'no',
'".$qt."',
'".($row['products_achat'] + $prixAchat)."')";
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
}

}
}
}
}


?>

Pourtant j'ai testé la requête $req du début dans la BD et elle marche parfaitement, je ne vois pas où peut être mon erreur !

Merci pour l'aide

1 réponse

SchSoftware Messages postés 46 Date d'inscription   Statut Membre Dernière intervention   3
 
Bonjours

Question bête
Je ne vois nul part la connexion à la base de donnée...

L'avez vous juste retirer pour faciliter la lecture?

mysql_connect("localhost", "<votre login>", "<votre password>");
mysql_select_db("<votre db>");

Sinon (et dans tous les cas!), tester la valeur de retour avant de l'utiliser...

if(!$req)
{
// erreur de requête!
echo mysql_error();
die;
}

Bien à vous
0