我正在尝试使用 PDO 和准备好的语句来获取表的主键。从其他问题中我发现执行这样的操作时这是可能的:
show index from TABLENAME where Key_name = 'PRIMARY'
问题是我无法在 PHP 下使用 PDO 从准备好的语句中使用它。我使用的代码如下:
$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 身份运行它但没有结果。当我直接从 mysql 提示符运行此 SQL 代码时,它确实显示了结果。
编辑:似乎在周末之后,该声明神奇地发挥了作用。我不知道为什么会这样。感谢您的帮助。
最佳答案
你确定失败了吗?这段代码的结果是什么?
$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);
}
关于php - 如何将 MySQL 语句 'show index' 与 PDO 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30669695/