這個問題有點奇怪?好像是取得不到時間和ip
$邂♥逅♥愛♥~
$邂♥逅♥愛♥~ 2018-02-05 22:32:15
0
6
1498

/*$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

##  `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學習者快速成長!