2014-12-03 90 views
-3

我試圖通過在$ _ POST全局變量以下方式.. 無法獲取through..Please幫助通過PHP變量

<?php 
include '/home/mechdipl/db.inc'; 

echo $_GET['lec']; 

$lect=$_GET['lec']; 
$atnds=$_GET['atnds']; 

$size = count($_POST['id']); 

$i = 0; 

while ($i < $size) { 

    $name = $_POST['name'][$i]; 
    $lectr = $_POST[$lect][$i]; 
    $atndsr = $_POST[$atnds][$i]; 
    $id = $_POST['id'][$i]; 

    $query = "UPDATE stud SET name='$name', $lect ='$lectr',$atnds ='$atndsr' WHERE id = '$id' LIMIT 1"; 

    mysql_query($query) or die ("Error in query: $query"); 
    echo "$name<br /><br /><em>Presenty Updated!</em><br /><br />"; 
    ++$i; 
} 
?> 
+1

小心** SQL注入**。查詢也很奇怪。在'UPDATE'查詢中使用'LIMIT'很少見,'id'通常是整數,不需要單引號來包圍這個值。最後,你確定你的意思是'$ lect ='$ lectr''其中'$ lect'是一個變量? – Raptor 2014-12-03 03:59:30

+2

您可能打算使用'lect ='$ lectr',atnds ='$ atndsr'',除非您確實在這些* undefined *變量之後命名了列。你甚至在詢問? 'mysqli_query()' - 'mysql_query()'或PDO?很難說你正在使用哪種API。 – 2014-12-03 03:59:31

+0

*「我甚至試過'」'。$ variable。「''」* <=您的引號已關閉,但我知道您的意思是''「。$ variable。」 - 將錯誤報告添加到您的頂部文件正好在你打開'<?php'標籤後 'error_reporting(E_ALL); ini_set('display_errors',1);'看看它是否產生了任何東西,或者'死了(mysqli_error($ con))'到'mysqli_query()'。 – 2014-12-03 04:23:34

回答

0

您在查詢中有錯誤,使用此

UPDATE stud SET name='$name', lect ='$lectr', atnds ='$atndsr' 
WHERE id = '$id' LIMIT 1 

,你剛剛編寫的查詢,不執行它,爲你必須使用mysqli_query()或mysql_query()函數....請讓我知道如果您有任何更多的疑慮。甚至在你已經使用的$ _POST全局變量中,也可以使用

$lectr = $_POST[$lect][$i]; $atndsr = $_POST[$atnds][$i]; 

我知道這是不正確的方法。因此,請在查詢之前打印$ _POST全局變量,然後在上面使用這些鍵。它可能是這樣的

$lectr = $_POST['lect'][$i]; 
$atndsr = $_POST['atnds'][$i];