/*$sql = "insérer dans kui3(username,password,createtime,createip)values('$username','$password',222,3333)";*/
Utilisez le code ci-dessus la partie de ligne a été modifiée et peut être écrite avec succès
$sql = "insérer dans les valeurs kui3(username,password,createtime,createip)('" . $username . "','" . $password . "' ,' " . $time . "','" . $ip . "')";
En utilisant le code du cours, c'est-à-dire le code ci-dessus, l'écriture échoue toujours. Je ne sais pas quel est le problème ?
Ensuite, lors de l'insertion, placez l'heure entre guillemets. Étant donné que l'heure est stockée sous la forme d'une chaîne, $time et ip dans votre question doivent être mis entre parenthèses
.`createtime` int(80) DEFAULT NULL, n'est-ce pas int(80) un peu effrayant ? Et vous pouvez utiliser le type de date de la base de données
Devez-vous d'abord créer une table dans la base de données ? C'est-à-dire que l'instruction table doit d'abord être exécutée avant que la connexion puisse réussir :
CREATE TABLE `kui3` (
`id` int(32) NOT NULL AUTO_INCREMENT,
`username` varchar(30) DEFAULT NULL,
`mot de passe` varchar(32) NULL PAR DÉFAUT,
`createtime` int(80) NULL PAR DÉFAUT,
`createip` varchar(60) NULL PAR DÉFAUT,
CLÉ PRIMAIRE (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8 |
Vraiment ?
La concaténation de chaînes des instructions SQL est incorrecte
Code de réussite :
L'instruction de la table est la suivante :
CREATE TABLE `kui3` (
`id` int(32) NOT NULL AUTO_INCREMENT,
`username` varchar(30) DEFAULT NULL,
`password` varchar(32) NULL PAR DÉFAUT,
`createtime` int(80) NULL PAR DÉFAUT,
`createip` varchar(60) NULL PAR DÉFAUT,
CLÉ PRIMAIRE (`id`)
) ENGINE=InnoDB AUTO_INCREMENT =14 DEFAULT CHARSET=utf8 |
connect.php Le code complet du fichier est le suivant :
<?php
if (trim($_POST['password']) ! = trim($_POST['repassword] '])) {
exit('Les deux mots de passe sont incohérents, veuillez revenir à la page précédente');
}
$username = trim($_POST['username' ]);
$password = md5(trim ($_POST['password']));
$time = time();
$ip = $_SERVER["REMOTE_ADDR"];
$conn = mysqli_connect ('localhost', 'root', 'root ');
//S'il y a une erreur, il y a un numéro d'erreur
if (mysqli_errno($conn)) {
echo mysqli_error($conn);
exit;
}
mysqli_select_db($conn, 'kui ');
mysqli_set_charset($conn, 'utf8');
$sql = "insérer dans les valeurs kui3(username,password,createtime,createip)( '" . $nom d'utilisateur . "','" . $mot de passe . "','" . $time . "','" . $ip . "')";
$result = mysqli_query($conn, $sql );
if ($result) {
echo 'Success ';
} else {
echo 'Failed';
}
echo 'L'ID inséré par l'utilisateur actuel est' mysqli_insert_id($conn). );
mysqli_close($conn);
?>
CREATE TABLE IF NOT EXISTS user (
id int(11) NOT NULL,
username varchar(30) NOT NULL,
password char(32) NOT NULL,
createtime int(11) NOT NULL,
createip int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Il y a deux questions ici :
La première devrait être, mot de passe varchar(32) non nul ;
Le deuxième et dernier type de création d'ip doit être défini sur chaîne,
Après modification, le transfert est OK
Avec succès, l'ID inséré par l'utilisateur actuel est 13