Когда я выполняю следующий код на сервере, который не поддерживает get_result(), $ results возвращается как «1». Кажется, что $ stmt-> fetch() работает неправильно. Есть ли что-то, что я делаю неправильно?PHP MySQLi подготовил оператор fetch() возвращает '1' вместо результата запроса
Я использую общую учетную запись хостинга GoDaddy и мой локальный сервер в качестве тестовой среды. Мой локальный сервер поддерживает get_result() так, чтобы он работал по назначению.
$stmt = self::$conn->prepare($sql);
$ex = $stmt->execute();
$stmt->store_result();
if (method_exists($stmt, 'get_result'))
{
$results = $stmt->get_result();
}
else
{
$results = $stmt->fetch();
}
Если вы var_dump ($ результатов) действительно ли это int (1) или это что-то еще? Если вам нужен ассоциативный массив, вы также должны пройти в fetch_style, как и $ stmt-> fetch (PDO :: FETCH_ASSOC) – user602525
var_dump возвращает BOOL (true). Кроме того, $ stmt-> fetch() не принимает параметры. –
Ой, черт возьми, я думал, что это PDO :: fetch() – user602525