/*$sql = "kui3(username,password,createtime,createip)valuesに挿入('$username','$password',222,3333)";*/
上記のコードを使用して下線部分を変更すると、
##$sql = "insert into kui3(username,password, createtime ,createip) value('" . $username . "','" . $password . "','" . $time . "','" . $ip . "')";
コース内のコード、つまり上記のコードはいつも書けません。何が問題なのかわかりません。
その後、挿入するときは、時間を引用符で囲みます。時間は文字列の形式で保存されるため、質問内の $time と ip の両方を括弧で囲む必要があります。
`createtime` int(80) DEFAULT NULL、この int(80) はちょっと怖くないですか?データベースの日付型も使用できます
最初にデータベースにテーブルを作成する必要がありますか?つまり、接続が成功する前に、テーブル ステートメントを最初に実行する必要があります:
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,
主キー (`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('2 つのパスワードが一致しません。前のページに戻ってください');
}
$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 = "kui3(username,password,createtime,createip) 値に挿入( '" . $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;
ここには 2 つの質問があります:
1 つ目の質問は、パスワード varchar(32) が null ではないことです。
2番目と最後のcreateipタイプは文字列に設定する必要があります
変更後、転送はOKです
現在のユーザーが挿入したIDは13です