2015-09-27 52 views
0

我的wampserver上有兩個不同的目錄,這個代碼適用於一個,但不適用於另一個,我不明白爲什麼。爲什麼我不能通過我的php腳本「插入」我的表?

PHP

<?php 

error_reporting(E_ALL & ~E_NOTICE); 
session_start(); 

$msg = ""; 
if (!isset($_SESSION['username'])) { 

    header('Location: login.php'); 
    die(); 

} 

if(isset($_SESSION['username'])) { 

    if (isset($_POST['submit'])) 
    { 
     $className = $_POST['className']; 
     $classColour = $_POST['classColour']; 

     include_once("connection.php"); 
     $sql = "INSERT INTO class (className, classColour) VALUE ('$className', '$classColour')"; 
     mysqli_query($dbConnection, $sql); 

     $msg = "New class '" . $className . "' added."; 
    } else { 
     $msg = "No class added yet."; 
    } 


} 


?> 

HTML

<form method="post" action="add_class.php"> 
        <input type="text" name="className" placeholder="Class" /> 
        <input type="text" name="classColour" placeholder="Colour" /> 
        <div><input type="submit" name="submit" value="Add" class="btn butn-orange"/></div> 
       </form> 

這是文件 「add_class.php」 中,我已經嘗試了很多不同的東西,把單引號(')的表列在左右$ sql但仍然,它不會工作。我嘗試調整表中的名稱,但是現在已經有了駝峯,但仍然沒有任何區別。這段代碼可以在另一個目錄中完美工作,有人可以告訴我爲什麼會發生這種情況並可能提出解決方案嗎?先謝謝你。

P.S我的連接工作,因爲我通過phpmyadmin插入一個新的行,並通過打印每個現有的「className」數據庫循環,它的工作,我只是不能從PHP腳本插入。

connection.php

<?php 

$dbConnection = mysqli_connect("localhost","root", "", "main"); 

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

?> 
+0

你在哪裏分配'$ _SESSION ['username']'? – user5173426

+0

'echo $ msg =「New class'」。 $ className。 「'補充說。」;'你看到了什麼? – user5173426

+0

每次我點擊「添加」我看到這個消息,其中$ className是我在輸入中寫入name =「className」的名稱 –

回答

1

當被問及如果你已經指派了會議,你說我這個分配時用戶登錄。從展望未來,讓我們假設指定的會議爲一體的下面寫着:

<?php 

error_reporting(E_ALL & ~E_NOTICE); 
session_start(); 
$_SESSION['username'] = "HawqasKaPujaari"; 

$msg = ""; 

// this fails, as session is already set. 
if (!isset($_SESSION['username'])) { 

    header('Location: login.php'); 
    die(); 

} 

if(isset($_SESSION['username'])) { 

    if (isset($_POST['submit'])) 
    { 
     $className = $_POST['className']; 
     $classColour = $_POST['classColour']; 

     include_once("connection.php"); 
     $sql = "INSERT INTO class (className, classColour) VALUES ('$className', '$classColour')"; 
     mysqli_query($dbConnection, $sql); 

     echo $msg = "New class '" . $className . "' added."; 
    } else { 
     $msg = "No class added yet."; 
    } 


} 


?> 

<form method="post" action=""> 
        <input type="text" name="className" placeholder="Class" /> 
        <input type="text" name="classColour" placeholder="Colour" /> 
        <div><input type="submit" name="submit" value="Add" class="btn butn-orange"/></div> 
       </form> 

注:只有我所做的改變是改變action=""空,在查詢改爲VALUEVALUES

connection.php:

<?php 

$dbConnection = mysqli_connect("localhost","root", "", "main"); 

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

?> 

正如上面貼的代碼似乎是正確的,是竊聽我,所以我想通過創建數據庫/表測試它自己的,它似乎沒有正常工作任何錯誤。我已經發布了相關圖片如下:

enter image description here

enter image description here

enter image description here

注意:請確保您有connection.php文件在同一目錄 爲add_class.php

+0

我試圖插入到另一個表中使用相同的代碼,它的工作,即時猜測它可能是因爲到現在的表格,這兩種表格類型都是「innoDB」 –

+0

@sammourac是否將兩種列類型作爲具有給定長度的「text」使用,並且「排序規則」有什麼不同? PS。如果它仍然看起來讓你感到不安,並且讓我知道它是如何發生的,你總是可以刪除並創建一個新表。歡呼聲;-)' – user5173426

相關問題