这个问题有点奇怪?好像是获取不到时间和ip
$邂♥逅♥愛♥~
$邂♥逅♥愛♥~ 2018-02-05 22:32:15
0
6
1504

/*$sql = "insert into kui3(username,password,createtime,createip)values('$username','$password',222,3333)";*/

用上面的代码划线部分改过,可以成功写入


$sql = "insert into kui3(username,password,createtime,createip) values('" . $username . "','" . $password . "','" . $time . "','" . $ip . "')";

用课程中的代码,也就是上面的代码,写入一直是失败,不知道什么问题?

$邂♥逅♥愛♥~
$邂♥逅♥愛♥~

全部回复(6)
寻觅 beyond

然后在插入的时候,将时间用引号括起来,因为时间以字符串的形式存储,你的问题中的$time和ip都应该用括号括起来才对

寻觅 beyond

`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


热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!