Bonsoir,
J'ai un soucis sur une requête SQL que je genere via a petit script :
Quand je fais un echo de ma $req j'obtient une requête valide du genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 <?php session_start(); include 'include/connect.php'; $nbrCommande=count($_SESSION['panier']['produit']); for ($i=0 ;$i < $nbrCommande ; $i++) { $sql = 'SELECT prix FROM data_prices WHERE '; foreach($_SESSION['panier'] as $cle=>$valeur) { if($valeur[$i] == '') { $valeur[$i] = 'default'; } if($cle != 'num_commande' && $cle != 'prixHT' && $cle != 'page_cover' && $cle != 'prixTTC') { if($cle == 'page'){ $cle = 'pages'; } $sql = $cle.'=\''.mysql_real_escape_string($valeur[$i]).'\' AND '; if($cle == 'delais'){ $valeur[$i] = substr($valeur[$i],0,1); $sql = $cle.'=\''.mysql_real_escape_string($valeur[$i]).'\''; } } //echo $sql.'<br>'; } $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); while($row = mysqli_fetch_assoc($req)) { echo $row['prix']; } } ?>
J'ai une erreur de syntax...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 SELECT prix FROM data_prices WHERE produit='Affiche' AND format='1000 x 707 mm DIN B1' AND quantite='3000 exemplaires' AND pages='default' AND grammage='170 gr/m²' AND impression='default' AND impression='default' AND finition='default' AND pelliculage='default' AND impression_cover='default' AND grammage_cover='default' AND delais='8'
Ma base
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Erreur SQL ! delais='2' You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'delais='2'' at line 1
Merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 CREATE TABLE IF NOT EXISTS `data_prices` ( `produit` varchar(30) COLLATE utf8_unicode_ci NOT NULL, `format` varchar(45) COLLATE utf8_unicode_ci NOT NULL, `grammage` varchar(45) COLLATE utf8_unicode_ci NOT NULL, `impression` varchar(45) COLLATE utf8_unicode_ci NOT NULL, `pelliculage` varchar(45) COLLATE utf8_unicode_ci NOT NULL, `finition` varchar(45) COLLATE utf8_unicode_ci NOT NULL, `pages` varchar(45) COLLATE utf8_unicode_ci NOT NULL, `impression_cover` varchar(45) COLLATE utf8_unicode_ci NOT NULL, `grammage_cover` varchar(45) COLLATE utf8_unicode_ci NOT NULL, `quantite` varchar(45) COLLATE utf8_unicode_ci NOT NULL, `delais` varchar(30) COLLATE utf8_unicode_ci NOT NULL, `prix` float NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;







Répondre avec citation
Partager