Как я могу использовать оператор MySQL ‘show index’ с PDO?

Я пытаюсь использовать PDO и подготовленные операторы, чтобы получить первичный ключ таблицы. Из других вопросов я увидел, что это возможно при выполнении чего-то вроде этого:

show index from TABLENAME where Key_name = 'PRIMARY'

Проблема в том, что я не могу использовать это из подготовленного оператора, используя PDO под PHP. Я использую следующий код:

$pdo = new PDO('mysql:host=localhost;charset=utf8;dbname=eclass', "user", "pass");
$stm = $pdo->prepare("show index from `TABLENAME` where `Key_name` = 'PRIMARY'");
$res = $stm->execute();

Теперь проблема в том, что хотя оператор создан правильно, выполнение завершается неудачно. Я уверен, что это не проблема разрешения, так как я запускаю это как root без результата. Когда я напрямую запускаю этот код SQL из командной строки mysql, он действительно показывает результат.

РЕДАКТИРОВАТЬПохоже, что после выходных, заявление волшебным образом работает. Я не знаю, почему это произошло. Спасибо за помощь.

2

Решение

ты уверен, что это не удается? что является результатом этого кода?

$pdo = new PDO(
"mysql:dbname=" . SQL_DB . ";host=" . SQL_HOST, SQL_USER, SQL_PWD,
array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
)
);

try {
$stm = $pdo->prepare("show index from `TABLENAME` where `Key_name` = 'PRIMARY'");
$res = $stm->execute();
print_r($stm->fetch(PDO::FETCH_ASSOC));
} catch (Exception $e) {
print_r($e);
}
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]