搜索

首页  >  问答  >  正文

这个问题有点奇怪?好像是获取不到时间和ip

/*$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 . "')";

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

$邂♥逅♥愛♥~$邂♥逅♥愛♥~2482 天前1516

全部回复(6)我来回复

  • 寻觅 beyond

    寻觅 beyond2018-02-09 14:33:59

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

    回复
    0
  • 寻觅 beyond

    寻觅 beyond2018-02-09 14:32:29

    `createtime` int(80) DEFAULT NULL,这个int(80)是不是有点吓人?而且可以使用数据库的date类型呀

    回复
    0
  • 卿立平

    卿立平2018-02-08 20:44:59

    是要先在数据库里建好表吧?也就是要先执行表语句,才能连接成功:

    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 |

    是么?

    回复
    0
  • PHP中文网

    PHP中文网2018-02-06 12:25:47

    SQL语句的字符串拼接 不对

    回复
    0
  • $邂♥逅♥愛♥~

    $邂♥逅♥愛♥~2018-02-05 23:20:45

     成功代码:

    表语句如下:

    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);

    ?>

    回复
    1
  • $邂♥逅♥愛♥~

    $邂♥逅♥愛♥~2018-02-05 23:14:22

    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


    回复
    1
  • 取消回复