Php 无法从memberdirectory中执行SELECT Login_Name,其中Login_Name=saviobosco(1054)在“WHERE子句”中的未知列“saviobosco”

Php 无法从memberdirectory中执行SELECT Login_Name,其中Login_Name=saviobosco(1054)在“WHERE子句”中的未知列“saviobosco”,php,mysql,database,Php,Mysql,Database,字符串值周围缺少引号: $username = stripslashes($username); // check if usernames exists $sql = "SELECT Login_Name FROM memberdirectory WHERE Login_Name = $username"; if ($result = mysqli_query($pdo,$sql)) { $row = mysqli_num_rows($result);

字符串值周围缺少引号:

$username = stripslashes($username); 


// check if usernames exists   


$sql = "SELECT Login_Name FROM memberdirectory WHERE Login_Name = $username";  


if ($result = mysqli_query($pdo,$sql)) {   

    $row = mysqli_num_rows($result);    

    // if yes, fetch the encrypted password  

如果您正在使用mysqli,为什么要限制自己手动清理输入?MysqlI已经准备好了语句来正确处理和格式化您的查询

$username = stripslashes($username); 
$sql = "SELECT Login_Name FROM memberdirectory WHERE Login_Name =".$username;
if ($result = mysqli_query($pdo,$sql)) {   

    $row = mysqli_num_rows($result);
然后验证:

$Conn = new mysqli("host","user","pass","database");

$Query = $Conn->prepare("SELECT Login_Name FROM memberdirectory WHERE Login_name=?");
$Query->bind_param('s',$username);
$Query->execute();
$Query->fetch();
$Row_Number = $Query->num_rows;
$Query->close(); // close the connection. Always a benefit and can save you complications later down the line 

这将给出相同的错误消息,$username必须在“…”内。因为您使用的是mysqli,所以可以使用绑定参数来避免此问题和许多其他问题。请提前警告。使用事先准备好的陈述。我投反对票,因为我们不喜欢在没有介绍性段落的情况下将代码放入问题中。请愿意写一篇介绍,而不仅仅是看标题。解释您试图解决的问题,以及web上是否有任何类似的问题可能会有所帮助。这也是和其他一些问题的副本,请参阅相关的侧栏。在这种情况下,您需要做的就是搜索SELECT无法执行未知列MySQL。
$Conn = new mysqli("host","user","pass","database");

$Query = $Conn->prepare("SELECT Login_Name FROM memberdirectory WHERE Login_name=?");
$Query->bind_param('s',$username);
$Query->execute();
$Query->fetch();
$Row_Number = $Query->num_rows;
$Query->close(); // close the connection. Always a benefit and can save you complications later down the line 
if ($Row_Number > 0){

} // Example only.