在我的代码中,我试图通过网页接受来自用户的输入,并通过基于用户输入动态创建 where 子句来创建 SQL 查询。但是,看起来我无法正确连接字符串。
$whereclause .= "AND niche ='".$niche."'";
$result = mysql_query("SELECT * FROM merc WHERE 1 = 1".$whereclause."") or die('Could not connect: ' . mysql_error());
缺少一个空格。
$whereclause = "AND niche = '".mysqli_real_escape_string($niche)."'";
$result = mysqli_query("SELECT * FROM merc WHERE 1 = 1 ".$whereclause") or die('Could not connect: ' . mysqli_error());
确保在从用户那里获取输入时,它不会被无干扰地传递给 MySQL。否则会导致应用程序出现大量问题,尤其是 SQL 注入。此外, mysql_* 函数已被弃用。强烈建议迁移到 mysqli_*。