/*$sql = "insert into kui3(username,password,createtime,createip)values('$username','$password',222,3333)";*/
Verwenden Sie den obigen Code Der Zeilenteil wurde geändert und kann erfolgreich geschrieben werden
$sql = "insert into kui3(username,password,createtime,createip) Values('" . $username . "','" . $password . "' ,' " . $time . "','" . $ip . "')";
Bei Verwendung des Codes im Kurs, also des obigen Codes, schlägt das Schreiben immer fehl. Ich weiß nicht, wo das Problem liegt ?
然后在插入的时候,将时间用引号括起来,因为时间以字符串的形式存储,你的问题中的$time和ip都应该用括号括起来才对
`createtime` int(80) DEFAULT NULL,这个int(80)是不是有点吓人?而且可以使用数据库的date类型呀
是要先在数据库里建好表吧?也就是要先执行表语句,才能连接成功:
CREATE TABLE `kui3` (
`id` int(32) NOT NULL AUTO_INCREMENT,
`username` varchar(30) DEFAULT NULL,
`password` varchar(32) DEFAULT NULL,
`createtime` int(80) DEFAULT NULL,
`createip` varchar(60) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8 |
是么?
SQL语句的字符串拼接 不对
成功代码:
表语句如下:
CREATE TABLE `kui3` (
`id` int(32) NOT NULL AUTO_INCREMENT,
`username` varchar(30) DEFAULT NULL,
`password` varchar(32) DEFAULT NULL,
`createtime` int(80) DEFAULT NULL,
`createip` varchar(60) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8 |
connect.php 文件 完整代码如下:
<?php
if (trim($_POST['password']) != trim($_POST['repassword'])) {
exit('两次密码不一致,请返回上一页');
}
$username = trim($_POST['username']);
$password = md5(trim($_POST['password']));
$time = time();
$ip = $_SERVER["REMOTE_ADDR"];
$conn = mysqli_connect('localhost', 'root', 'root');
//如果有错误,存在错误号
if (mysqli_errno($conn)) {
echo mysqli_error($conn);
exit;
}
mysqli_select_db($conn, 'kui');
mysqli_set_charset($conn, 'utf8');
$sql = "insert into kui3(username,password,createtime,createip) values('" . $username . "','" . $password . "','" . $time . "','" . $ip . "')";
$result = mysqli_query($conn, $sql);
if ($result) {
echo '成功';
} else {
echo '失败';
}
echo '当前用户插入的ID为' . 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;
这里有两个问题:
第一个这个应该是,password varchar(32) not null;
第二个,最后一个createip 这个类型应该设置为字符串,
修改后转接OK了
成功当前用户插入的ID为13