SQL Select Where语句中出错


Error in SQL Select Where statement

我自己出现了以下错误,似乎不知道为什么:

您的SQL语法有错误;查看手册与您的MySQL服务器版本相对应,以便使用正确的语法靠近第1行的Gravenmoer''

这是SQL语法:

$plaats = $row['plaats'];    
$query10 = "SELECT * FROM gebieden WHERE plaats = '$plaats'"; 

对于那些感兴趣的人来说,变量包含以下内容:"s-Gravenmore "

为什么它给我一个错误?谢谢

使用mysql_real_escape_stringhtmlspecialchars

$plaats = $row['plaats'];    
$query10 = "SELECT * FROM gebieden WHERE plaats = '".mysql_real_escape_string($plaats)."';";

这是因为$plaats的值包含单引号。

您的代码容易出现SQL注入。使用PDOMYSQLI

使用PDO扩展的示例:

<?php
    $stmt = $dbh->prepare("SELECT * FROM gebieden WHERE plaats = ?");
    $stmt->bindParam(1, $plaats);
    if ($stmt->execute()) 
    {
      while ($row = $stmt->fetch()) 
      {
        print_r($row);
      }
    }
?>

这将允许您使用单引号搜索记录。