вчера у меня возник вопрос по синтаксису 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";
}
?>
Что происходит(?):
SELECT *
FROM accounts
WHERE isonline =1
AND clientid <> andv025075
LIMIT 0 , 30
Что должно произойти:
SELECT *
FROM accounts
WHERE isonline =1
AND clientid <> 'andv025075'
LIMIT 0 , 30
Теперь мне интересно, почему оператор не будет выполняться с привязанными параметрами, потому что это должно автоматически распознавать его как строку и сравнивать строки? Зачем мне добавлять кавычки? И как мне поставить эти цитаты? Я пытался добавить цитаты прямо из клиента и отправить, но они конвертируются в ASCII
Задача ещё не решена.
Других решений пока нет …