У меня есть устаревший код в проекте, над которым я работаю.
Это выглядело так (немного упрощено для большей читабельности):
$sql = "SELECT something
FROM table
WHERE something = 'something'";
$st = $this->dbPdo->prepare($sql);
$st->execute();
if ($rows = $st->fetchAll(\PDO::FETCH_ASSOC)) {
// Some code that wasn't executing for some reason on
// production, but was working on live
}
На моей локальной копиипроект этот код работал.Но на производстве нет.Когда я изменил это на это для отладки того, что находится внутри $ строк, оно начинает работать.
$sql = "SELECT something
FROM table
WHERE something = 'something'";
$st = $this->dbPdo->prepare($sql);
$st->execute();
$rows = $st->fetchAll(\PDO::FETCH_ASSOC); // rows is array with 15 elements
error_log( 'rows: ' . json_encode($rows) );
if ($rows) {
// Now this code is working
}
Кто-нибудь может объяснить мне, почему?Больше ничего не изменилось.