mySQL php PDO错误1054

mySQL php PDO错误1054,php,mysql,pdo,mysql-error-1054,Php,Mysql,Pdo,Mysql Error 1054,昨天我有一个关于mySQL语法的问题。这就是如何拥有多个WHERE语句。我得到了1054。它是“字段列表中的未知列”。我已经找到了如何让代码执行,但是我无法让它以编程方式工作(我必须在后面加入一些引号) 这是我对php的输出: clientid=andv025075 以下是我的php: <?PHP include 'connect.php'; $client = $_POST['clientid']; try{ $stmt = $conn->prepare('

昨天我有一个关于mySQL语法的问题。这就是如何拥有多个WHERE语句。我得到了1054。它是“字段列表中的未知列”。我已经找到了如何让代码执行,但是我无法让它以编程方式工作(我必须在后面加入一些引号)

这是我对php的输出:

clientid=andv025075
以下是我的php:

<?PHP include 'connect.php';

$client = $_POST['clientid'];
try{
    $stmt = $conn->prepare('
        SELECT * FROM accounts where isonline = 1 AND clientid <> :clientid
        ');
    $stmt->bindParam(':clientid', $client);
    $stmt->execute();

        $i = 0;
    $aOutputArray = array();
    while ($row = $stmt->fetch())
    {
        $aOutputArray['users'][$i] = [
            'clientid' => $row['clientid'],
            'username' => $row['username'],
            'theme' => $row['themeset'],
        ];
        $i++;
    }
    echo json_encode($aOutputArray);
        }catch(PDOException $e){
        echo "noone_online";
        }
?>

发生了什么事(?):

选择*
来自帐户
其中isonline=1
和clientid和V025075
限制0,30
需要发生什么:

SELECT * 
FROM accounts
WHERE isonline =1
AND clientid <>  'andv025075'
LIMIT 0 , 30
选择*
来自帐户
其中isonline=1
和clientid'和V025075'
限制0,30

现在,我想知道为什么语句不会使用绑定的参数执行,因为这样会自动将其识别为字符串并比较字符串?为什么我需要添加引号?那么,我应该如何把这些引语放进去呢?我试图直接从客户端和send添加引号,但它们被转换为ASCII

,作为bindvalue的第三个参数add PDO::PARAM_STR
SELECT * 
FROM accounts
WHERE isonline =1
AND clientid <>  'andv025075'
LIMIT 0 , 30