2015-11-17 70 views
0
error_reporting(0); 

if ($_SERVER["REQUEST_METHOD"] == "POST") { 

    $dbhost = "127.0.0.1"; 
    $dbuser = ""; 
    $dbpass = ""; 
    $dbname = ""; 

    $connection=mysqli_connect("$dbhost","$dbuser","$dbpass","$dbname"); 

    if (mysqli_connect_errno()) { 
     echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
    } 

    $module_ID=mysqli_query($connection,"SELECT Module_ID FROM Module WHERE Module_Name = '".$_POST['Module_Name']."'"); 
    $query = mysqli_fetch_assoc($module_ID); 

    $result=mysqli_query($connection,"INSERT INTO Attendance (Username, Module_ID, Module_Name, Date, isHere, isLate) 
    VALUES ('$_POST[Username]','$query[Module_ID]','$_POST[Module_Name]','$_SERVER[REQUEST_TIME]','Y','N')"); 

    if (!mysqli_query($connection ,$result)) { 
     //die('Error: ' . mysqli_error($connection)); 
    } 

    echo $_POST[Module_Name]; 
    echo "<br /><br /><br /><br /><br />"; 
    echo $query['Module_ID']; 

    mysqli_close($connection); 


} 

這是編碼,它只允許一個用戶添加到數據庫,它不能存儲更多的用戶。如果我嘗試插入另一個用戶,它不會添加到數據庫。任何解決方案更新:仍然無法正常工作,手動將用戶添加到數據庫上的用戶表中。更新:修復了問題爲什麼不能添加其他用戶?只允許一個用戶註冊

+4

_請不要在您的SQL語句中使用原始POST變量。使用準備好的語句來保護自己免受SQL注入攻擊。 –

+0

請爲您提供表格定義。 –

+0

請查閱以下鏈接http://php.net/manual/en/mysqli.error.php和http://php.net/manual/en/function.error-reporting.php 並將其應用於您的代碼。這不會幫助你,順便說一句'error_reporting(0);' –

回答

0

使用quotes作爲鍵:並且總是試圖捕獲錯誤(這裏是mysql),它會幫助你調試。

$result=mysqli_query($connection,"INSERT INTO Attendance (Username, Module_ID, Module_Name, Date, isHere, isLate) 
    VALUES ('".$_POST['Username']."'","'".$query['Module_ID']."'","'".$_POST['Module_Name']."'","'".$_SERVER['REQUEST_TIME']."','Y','N')"); 
+0

這實際上是否產生與OP已有的內容不同的內容? –

+0

@JonStirling是的,我想那些關鍵是使用將給他undefined。 –

+0

沒有https://3v4l.org/nQLJV –

0

我這樣做是因爲所有報價它會有,只是混淆東西更多。

一個完美的例子是@Shyit的答案。

 $username = $_POST['Username']; 
     $module_id = $query['Module_ID']; 
     $module_name = $_POST['Module_Name']; 
     $time = $_SERVER['REQUEST_TIME']; 

$result=mysqli_query($connection,"INSERT INTO Attendance (Username, Module_ID, Module_Name, Date, isHere, isLate) 
     VALUES ('$username','$module_id','$module_name','$time','Y','N')"); 
+0

這實際上是否產生與OP已有的不同的東西? –

+0

查看https://3v4l.org/nQLJV –

+0

仍然試圖修復它不會添加用戶,即使我手動在數據庫中添加一個 –

相關問題