在mysql更新中传递php变量
我正试图通过以下方式在$\u post中传递全局变量。。 无法接通……请帮忙在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
<?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是从提交的表中获得的值。。