Bonjour,

J'ai un script qui doit insérer un titre de livre dans une base de données, en incluant un identifiant récupéré dans une table auteur, dans laquelle l'auteur est inséré également dans ce même script.

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
35
36
37
$author_lastname = 'Feynman';
$author_firstname = 'Richard';
$book_title = 'Character';
$author_insert = "INSERT INTO author (lastname, firstname)
VALUES ('$author_lastname','$author_firstname')";
/* Affichage de débuggage */
echo("<pre>\n");
var_dump($query);
echo("</pre>\n");
/* Fin affichage débuggage */ 
mysql_query($author_insert)  or die("ERR : " . mysql_error() . "<br />SQL : " . $author_insert);
 
$author_id_query =
"SELECT ID FROM author
WHERE lastname = '$author_lastname'
AND firstname = '$author_firstname'";
/* Affichage de débuggage */
echo("<pre>\n");
var_dump($query);
echo("</pre>\n");
/* Fin affichage débuggage */ 
 
$author_id_result =
mysql_query($author_id_query) or die("ERR : " . mysql_error() . "<br />SQL : " . $author_id_query);
if (mysql_num_rows($author_id_result) <= 0)
die("Inserted author not found!");
else
$author_row = mysql_fetch_row($author_id_result);
$authorID = $author_row[0];
$book_insert = "INSERT INTO book (authorID, title)
VALUES ($authorID, $book_title)";
mysql_query($book_insert)  or die("ERR : " . mysql_error() . "<br />SQL : " . $book_insert);
/* Affichage de débuggage */
echo("<pre>\n");
var_dump($query);
echo("</pre>\n");
/* Fin affichage débuggage */
Les deux premières requettes fonctionnent mais il y a un problème sur la requete qui insère le titre.
Je ne comprends pas non plus pourquoi l'affichage de débugage me retourne la valeur NULL pour les premières requêtes.

Voici ce que j'obtiens sur la page navigateur :

NULL

NULL

ERR : 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 ')' at line 2
SQL : INSERT INTO book (authorID, title) VALUES (5, Character).

Quelqu'un sait-il ce qui se passe ?