PDO не хочет выполнять подготовленный запрос
Я вообще не пойму почему. Попробовал выполнить тот же запрос просто с query все работает, если подготовленный запрос не ничего, exception не выкидывает просто ничего не возвращает:
public function getUserTabNumber($tabNumber) {
$arrRes = array();
$sql = "SELECT * FROM users WHERE tab_number = :tab_number";
try {
$stmt = $this->conn->prepare($sql);
$stmt->execute(array("tab_number"=>$tabNumber));
$stm = $stmt->fetchAll();
if ($stmt->rowCount() == 1) {
foreach ($stmt as $row) {
$arrRes['tab_number'] = $row['tab_number'];
$arrRes['token'] = $row['token'];
}
}
} catch (Exception $e) {
$arrRes = $e;
}
return arrRes;
}
Ответы (3 шт):
Автор решения: 4 kilograms
→ Ссылка
Пропустили букву в переменной
$stm = $stmt->fetchAll();
Вот так должно сработать:
public function getUserTabNumber($tabNumber) {
$arrRes = array();
$sql = "SELECT * FROM users WHERE tab_number = :tab_number";
try {
$stmt = $this->conn->prepare($sql);
$stmt->execute(array("tab_number"=>$tabNumber));
$stmt = $stmt->fetchAll();
if ($stmt->rowCount() == 1) {
foreach ($stmt as $row) {
$arrRes['tab_number'] = $row['tab_number'];
$arrRes['token'] = $row['token'];
}
}
} catch (Exception $e) {
$arrRes = $e;
}
return arrRes;
}
Автор решения: Madoka Magica
→ Ссылка
Наконец то добил 3 пота сошло. Переименовал название столбца таблицы на tab, не думаю что дело в этом но все же:
public function getUserTabNumber($tabNumber) {
$arrRes = array();
$sql = "SELECT * FROM `users` WHERE `tab` = :tab";
try {
$stmt = $this->conn->prepare($sql);
$stmt->execute(array("tab"=>$tabNumber));
//$stm = $stmt->fetchAll();
if ($stmt->rowCount() == 1) {
foreach ($stmt as $row) {
$arrRes['tab_number'] = $row['tab'];
$arrRes['token'] = $row['token'];
}
}
} catch (Exception $e) {
$arrRes = $e;
}
return arrRes;
}