在mysql更新中传递php变量

在mysql更新中传递php变量,php,mysql,Php,Mysql,我正试图通过以下方式在$\u post中传递全局变量。。 无法接通……请帮忙 <?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]; $le

我正试图通过以下方式在$\u post中传递全局变量。。 无法接通……请帮忙

 <?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;
}
?>

如果查询中有错误,请使用此选项

UPDATE stud SET name='$name', lect ='$lectr', atnds ='$atndsr'  
WHERE id = '$id' LIMIT 1
您只是编写了查询,而不是执行查询,因此您必须使用mysqli\u query()或mysql\u query()函数……如果您还有任何疑问,请告诉我。甚至在您使用的$\u POST全局变量中

$lectr = $_POST[$lect][$i];   $atndsr = $_POST[$atnds][$i];
我知道这不是正确的方法。所以,在查询print out$\u POST全局变量之前,请先使用上面的键。可能是这样

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

注意SQL注入。这个问题也很奇怪。很少在
UPDATE
查询中使用
LIMIT
,而
id
通常是和整数,不需要单引号来包围值。最后,您确定您的意思是
$lect='$elect'
,其中
$lect
是一个变量?您可能想使用
lect='$elect',atnds='$atndsr'
,除非您有以这些未定义变量命名的列。你在质疑吗
mysqli\u query()
-
mysql\u query()
还是PDO?很难说您使用的是哪种API。“我甚至试过了。$variable。”“
”是的,我知道$lect是一个变量,它是从$\u get获得的,而$lect是从提交的表中获得的值。。