2014-12-03 96 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];