Bonjour,
j'ai le code PHP suivant:
ce code doit:Code:
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
35
36
37
38
39
40
41
42
43
44
45 <?php if (empty($errors)){ $uid=6; $in=$trimmed['itemname']; $pdf=$trimmed['pdft']; $is=$trimmed['istatus']; $ides=$trimmed['itemdescription']; $set='setup 1'; $creation='Submitted'; // Make sure the Item Name is available: $q = "SELECT Item_ID FROM items WHERE Item_name='$in'"; $r = mysqli_query ($dbc, $q); if (mysqli_num_rows($r) == 0) { // Available. $q="INSERT INTO items (Item_name, Item_description, Item_status_ID, Setup, User_ID, Team_ID, CreationDate, UpdateDate, Creation) VALUES ('$in', '$ides', '$is', '$set', $uid, $pdf, NOW(), NULL, '$creation')"; $r = mysqli_query ($dbc, $q) or trigger_error("Query: $q\n<br />MySQL Error: " . mysqli_error($dbc)); if (mysqli_affected_rows($dbc) == 1) { // If it ran OK. $q1 = "SELECT Item_ID FROM items WHERE Item_name='$in' LIMIT 1"; $r1 = mysqli_query ($dbc, $q) or trigger_error("Query: $q\n<br />MySQL Error: " . mysqli_error($dbc)); if (mysqli_num_rows($r1) == 1) { $item=mysqli_fetch_array($r, MYSQLI_NUM); $itemID=$item[0]; $_SESSION['success_item']='The item has been added in the system'; $url = absolute_url ('listofitems.php'); header("Location: $url"); exit(); mysqli_close($dbc); } } else { //Not OK echo '<p class="error">You could not enter your item due to a system error. We apologize for any inconvenience.</p>'; } } else { // The Item Name is not available. echo '<p class="error">That Item Name has already been registered.</p>'; } } ?>
mais voila quand je le teste j'ai une erreur:Citation:
- verifier si le ITEM NAME est disponible
- si OUI, alors inserer le nouvel ITEM NAME
- et ainsi recuperer l'ID de ce nouvel ITEM NAME
Je vois que j'ai pas de resultat dans r1 et je ne comprends pas pourquoi. Puisque quand je teste les requetes directement dasn MySQL:Citation:
An error occurred in script 'D:\wamp\www\PHP-TESTS\dbvalidation.php' on line 23: Query: INSERT INTO items (Item_name, Item_description, Item_status_ID, Setup, User_ID, Team_ID, CreationDate, UpdateDate, Creation) VALUES ('item4', 'item4 description', '2', 'setup 1', 6, 5, NOW(), NULL, 'Submitted')
MySQL Error: Duplicate entry 'item4' for key 'Item_name'
....
[q] => INSERT INTO items (Item_name, Item_description, Item_status_ID, Setup, User_ID, Team_ID, CreationDate, UpdateDate, Creation) VALUES ('item4', 'item4 description', '2', 'setup 1', 6, 5, NOW(), NULL, 'Submitted')
[r] => 1
[q1] => SELECT Item_ID FROM items WHERE Item_name='item4' LIMIT 1
[r1] =>
Je recois comment Item_ID: 24Citation:
[q] => INSERT INTO items (Item_name, Item_description, Item_status_ID, Setup, User_ID, Team_ID, CreationDate, UpdateDate, Creation) VALUES ('item4', 'item4 description', '2', 'setup 1', 6, 5, NOW(), NULL, 'Submitted')
[q1] => SELECT Item_ID FROM items WHERE Item_name='item4' LIMIT 1
Pourquoi est ce que avec PHP ca plante?
Merci d'avance.
Billy