php索引值和sql数据库值匹配不起作用

php索引值和sql数据库值匹配不起作用,php,mysql,Php,Mysql,当在收件箱中插入数据并与mysql数据进行比较时,将显示错误消息。 我的dbcon.php文件是 comp函数不返回mysql结果集,而是返回表示select语句的字符串。您需要将此字符串传递给mysql\u查询以返回结果集 其次,您将传递$\u POST[$li\u num]的值“comp”,并尝试从$\u GET获取该值的结果。从comp函数中删除$\u GET并直接在其中使用$lnum 显然,还有一些sql卫生问题需要解决 public function comp($lnum) {

当在收件箱中插入数据并与mysql数据进行比较时,将显示错误消息。 我的dbcon.php文件是


comp函数不返回mysql结果集,而是返回表示select语句的字符串。您需要将此字符串传递给mysql\u查询以返回结果集

其次,您将传递$\u POST[$li\u num]的值“comp”,并尝试从$\u GET获取该值的结果。从comp函数中删除$\u GET并直接在其中使用$lnum

显然,还有一些sql卫生问题需要解决

public function comp($lnum)
{
  return mysql_query("SELECT * FROM users WHERE l_num= '" . mysql_real_escape_string($lnum) . "'");
}

您可能应该研究使用mysqli,因为这些函数已被弃用。

您需要使用mysqli\u*lnum的值是多少?您正在
POST
ing表单,但
GET
ing变量。那不行。然后切换到mysqli或PDO。mysql_*函数已弃用,并从PHP7开始删除。这两个库都允许您防止SQL注入。$lnum是我的插入值请不要使用,它已被弃用(在PHP7中永远不会使用),特别是如果您只是学习PHP,请花费精力学习
PDO
数据库扩展。这真的很容易。你的脚本有风险,看看发生了什么,甚至使用感谢快速响应..sql环境卫生影响是可行的,但仍然有问题。使用未定义的索引:li_num in compare.php请更新你的问题,以获得更新的代码和错误。语句中的单引号可以防止注射,我同意这不是正确的方法,但是他的问题是关于这种方法的,这就是我的答案。显然,使用不推荐使用的函数不是正确的方法。