Php 以下代码中的错误是什么
确保您的mysql字段确实是libsudent。看起来应该是libstudent 然后在Post变量周围放置{}。ie{$\u POST[\'libid\']} 相反,您可以在代码中放置另一个步骤,如: $libid=$_POST[“libid”] 我想你可以不用libid的引号,但我一直认为添加它们读起来更好Php 以下代码中的错误是什么,php,html,Php,Html,确保您的mysql字段确实是libsudent。看起来应该是libstudent 然后在Post变量周围放置{}。ie{$\u POST[\'libid\']} 相反,您可以在代码中放置另一个步骤,如: $libid=$_POST[“libid”] 我想你可以不用libid的引号,但我一直认为添加它们读起来更好 $result = mysqli_query($connection,"SELECT * FROM libsutdent where libid='$_POST[libid]'");
$result = mysqli_query($connection,"SELECT * FROM libsutdent where libid='$_POST[libid]'");
$rowcount=mysqli_num_rows($result);
if($rowcount==1)
{
while($row = mysqli_fetch_array($result))
{
$libid=$row['libid'];
$regno= $row['regno'] ;
$name= $row['stuname'] ;
$branch= $row['branch'] ;
$semester= $row['semester'] ;
$section= $row['section'] ;
$yearofadm= $row['yearofadm'];
}
}
应该是
$result = mysqli_query($connection,"SELECT * FROM libsutdent where libid='$_POST[libid]'");
不要直接在数据库中发布任何内容,因为这会威胁数据安全(SQL注入)
我觉得应该是
libstudent
而不是libsudent
[表名]这可能是SQL中的输入错误,但您可能已经运行了此代码,并且有一条错误消息,可以将其包含在您的帖子中。您正在向查询中注入变量,而不是使用准备好的语句和绑定变量。这就是说,StackOverflow需要您自己做一些工作,而且很明显,您除了在这里复制粘贴代码外,什么也没做。似乎是无限循环!如果这是你要问的。删除while并只分配$row=mysqli\u fecth\u数组($result)。注意:我不是php专家-通过查看代码,它似乎不正确。还有,你能更好的知道错误是什么?你期待的是什么。。。需要更多的解释。谢谢Rizwan@RizwanAhmedmysqli\u fetch\u array
的工作方式是,每次调用它时,它都会返回一个新行,直到它不在行中时返回false
(并且$row
不会是truthy,循环将停止)。该代码仍然包含一个巨大的SQL注入安全漏洞。但这并不意味着它有错误,除非-你知道-$\u POST['libid']
中有任何'
字符。你知道是不是?你认为为那些显然不能自己调试的人发布糟糕的实践代码是个好主意吗?你可能应该发布正确的答案,而不是否决那些试图帮助你的人现在你使用mysql\u real\u escape\u string
。它不仅多年来一直被弃用,而且在mysqli\uu
中也不起作用。这是“有用的”,就像你的朋友说他忘了带钥匙,所以不能进他的房子一样,你的解决办法是打破窗户。它可以工作-但他家里留下了一个大洞。用数据库连接替换$dbc。。。对不起,我忘了说这个,我很抱歉,我没有考虑那个……对不起
$result = mysqli_query($connection,"SELECT * FROM libsutdent where libid='".mysql_real_escape_string($_POST['libid'])."'");
$libid = $_POST['libid'];
$libid = mysqli_real_escape_string($connection, $libid);
$result = mysqli_query($connection,"SELECT * FROM libsutdent where libid='".$libid."'");