Ajouter un enregistrement en PHP
Bonjour et tous mes vœux pour la nouvelle année,
Serveur : MySQL (127.0.0.1 via TCP/IP)
Version du serveur : 5.7.23 - MySQL Community Server (GPL)
Utilisateur : root@localhost
Dans la base de données de mon site en WordPress, j'ai ajouté une table "lescopies" pour enregistrer des informations. Un extrait de la partie concernée du programme PHP est reproduite ci-dessous.
Les lignes en rouge sont les impressions faites par la commande "echo" et les diagnostics d'erreur.
En final, l'enregistrement semble être créé mais n'est pas ajouté à la base et je ne comprends pas pourquoi. Je ne sais pas non plus interpréter les Warning et les error.
Merci à celles ou ceux qui pourront m'aider à identifier et/ou réparer le problème.
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
| $base = mysqli_connect("127.0.0.1", "root", "", "bdcgrom");
if ($base)
{
echo 'Connection réussie. Information sur le serveur: ' .mysqli_get_host_info($base),'<br>';
Connection reussie. Information sur le serveur: 127.0.0.1 via TCP/IP
$reket1 = mysqli_query($base, 'SELECT * From lescopies');
if ($reket1 == FALSE) {
echo 'Echec de la lecture.<br />'; }
else {
echo 'Nombre de lignes : '.mysqli_num_rows($reket1).'<br />'; }
Nombre de lignes : 0
// Ajouter un enregistrement : $sql : chaîne de caractères contenant la requête SQL
$sql = "INSERT INTO lescopies (nom,prenom, age) VALUES ('Dupond','Alain',72)";
echo $sql,'<br>';
INSERT INTO lescopies (nom,prenom,age) VALUES ('Dupond','Alain',72)
$reket2 = mysqli_query($base, $sql);
if ($reket2 == False) {
echo 'Echec de l\'ajout d\'un enregistrement. '; }
echo 'erreur : '.mysqli_stmt_errno($reket2).' '.mysqli.stmt_error($reket2).'<br>';
else {
echo 'Ajout d\'un enregistrement. '; }
Echec de l'ajout d'un enregistrement.
Warning: mysqli_stmt_errno() expects parameter 1 to be mysqli_stmt, bool given in C:\wamp64\www\cgrom\lesCasManu.php on line 91
Warning: Use of undefined constant mysqli - assumed 'mysqli' (this will throw an Error in a future version of PHP) in C:\wamp64\www\cgrom\lesCasManu.php on line 91
Fatal error: Uncaught Error: Call to undefined function stmt_error() in C:\wamp64\www\cgrom\lesCasManu.php on line 91
Error: Call to undefined function stmt_error() in C:\wamp64\www\cgrom\lesCasManu.php on line 91 |
Ajouter un enregistrement en PHP
Voici un copier-coller d'une partie du script
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
| $base = mysqli_connect("127.0.0.1", "root", "", "bdcgrisq"); // "copicas"
if ($base)
{
echo 'Connection reussie. Information sur le serveur: ' .mysqli_get_host_info($base),'<br>';
$lannee = date('y'); // p 137
$lemois = date('m');
$lejour = date('d');
$lheure = date('H');
// Nombre de lignes dans la table
$reket1 = mysqli_query($base, 'SELECT * From lescopies');
if ($reket1 == FALSE) {
echo 'Echec de la lecture.<br />'; }
else {
echo 'Nombre de lignes : '.mysqli_num_rows($reket1).'<br />'; }
// Ajouter un enregistrement p320
// $sql : chaîne de caractères contenant la requête SQL
$sql = "INSERT INTO lescopies (annee,mois,jour,heure,nom,cas1,cas2,cas3,cas4)
VALUES ($lannee,$lemois,$lejour,$lheure,'$lenom',$cas1,$cas2,$cas3,$cas4)";
echo $sql,'<br>';
$reket2 = mysqli_query($base, $sql); //Exécution de la requête
if ($reket2 == False) {
echo 'Echec de l\'ajout d\'un enregistrement. ';
ligne 91 echo 'erreur : '.mysqli_stmt_errno($reket2).' '.mysqli.stmt_error($reket2).'<br>';}
else {
echo 'Ajout d\'un enregistrement. '; }
// fermer éventuellement la base p 314
mysqli_close($base);
if (mysqli_close($base)) {
echo ' Déconnexion réussie.'; }
else {
echo ' Echec de la déconnexion.'; }
}
else {
printf('Erreur %d : %s.<br />', mysqli_connect_errno(),mysqli_connect_error());
}
} |
Copie des affichages sur l'écran
Citation:
Connection reussie. Information sur le serveur: 127.0.0.1 via TCP/IP
Nombre de lignes : 0
INSERT INTO lescopies (annee,mois,jour,heure,nom,cas1,cas2,cas3,cas4) VALUES (23,01,14,15,'bibi',1,1,0,0)
Echec de l'ajout d'un enregistrement.
( ! ) Warning: mysqli_stmt_errno() expects parameter 1 to be mysqli_stmt, bool given in C:\wamp64\www\cgrisq\lesCasManu.php on line 91
Call Stack
# Time Memory Function Location
1 0.0015 370096 {main}( ) ...\lesCasManu.php:0
2 0.0061 436720 mysqli_stmt_errno( $stmt = FALSE )
...\lesCasManu.php:91
( ! ) Warning: Use of undefined constant mysqli - assumed 'mysqli' (this will throw an Error in a future version of PHP) in C:\wamp64\www\cgrisq\lesCasManu.php on line 91
Call Stack
# Time Memory Function Location
1 0.0015 370096 {main}( ) ...\lesCasManu.php:0
( ! ) Fatal error: Uncaught Error: Call to undefined function stmt_error() in C:\wamp64\www\cgrisq\lesCasManu.php on line 91
( ! ) Error: Call to undefined function stmt_error() in C:\wamp64\www\cgrisq\lesCasManu.php on line 91
Call Stack
# Time Memory Function Location
1 0.0015 370096 {main}( ) ...\lesCasManu.php:0