ODB C PDO Выбор запроса LIKE Предложение не работает в PHP 7 - PullRequest
1 голос
/ 16 января 2020

Мне трудно показать результаты моего запроса с помощью предложения PDO Like.

У меня есть две базы данных: одна с сервера Wampp, а другая с MS SQL.

Для MS SQL я использовал следующее соединение:

$connection = new PDO('odbc:Driver={SQL Server};Server=Server\SQL2008;Database=dbname; Uid=hr;Pwd=hrpassword');

Я попытался select всех полей, используя простой запрос PDO SELECT, и он работал нормально. Просто чтобы дать представление о таблица, вот структура таблицы.

Table: CheckInOut
Columns: UserID, CheckTime, CheckType

Теперь я пытаюсь выбрать все данные, используя предложение LIKE, чтобы получить все CheckTime, которые начинаются с 2020 года.

Я пытался использовать этот запрос PDO:

$keyword = "2020-01-01%";
// Prepare the command
$sth = $connection->prepare("SELECT * FROM CheckInOut WHERE CheckTime LIKE :keyword");
// Put the percentage sing on the keyword
$keyword = $keyword;
// // Bind the parameter
$sth->bindParam(':keyword', $keyword, PDO::PARAM_STR);

$sth->execute();
while ($s=$sth->fetch()) {
    echo $s['CheckTime']."<br/>";
}

Ничего не возвращается. Нет ошибок, нет выходных данных, поэтому я не могу найти, что не так. Но если бы я попытался использовать предложение equals вместо LIKE, оно работает нормально.

Код, который я использовал для предложения equals:

$keyword = "108";
// Prepare the command
$sth = $connection->prepare("SELECT CheckTime as CheckTime FROM CheckInOut WHERE UserID = :keyword");
// Put the percentage sing on the keyword
$keyword = $keyword;
// Bind the parameter
$sth->bindParam(':keyword', $keyword, PDO::PARAM_STR);

$sth->execute();

while ($s=$sth->fetch()) {
    echo $s['CheckTime']."<br/>";
}
...