如何使用php pdo获取下一个自动增量值

时间:2014-01-08 10:24:25

标签: php pdo

这里我试图从数据库中获取下一个自动增量值,并应显示在网页上。在我使用mysql之前,它的工作完美。现在,我正在使用pdo重写我的编码,但我被困在那个地方。下面我发布了我的代码。如何使用PHP PDO获取下一个自动增量值?

使用Mysql

include('config.php');
    $result = mysql_query("SHOW TABLE STATUS LIKE 'ebvouchers'");
    $data = mysql_fetch_assoc($result);
    $autoid = array(
    'next_increment' => htmlentities( $data['Auto_increment'], ENT_QUOTES, 'UTF-8' )
    );
    echo $autoid['next_increment'];

使用PDO

    <?php
        include('config.php');
        $stmt = $db->query("SHOW TABLE STATUS LIKE ebvouchers");
        $size = $stmt->fetch(PDO::FETCH_ASSOC);
        HERE ??? I"M STUCK
    ?>

3 个答案:

答案 0 :(得分:4)

尝试:

   include('config.php');
    $string = "SHOW TABLE STATUS LIKE 'ebvouchers'";
    $query = $db->connection->prepare($string);
    $query->execute();
    $size = $query->fetch(PDO::FETCH_ASSOC);
    echo $size['Auto_increment'];

答案 1 :(得分:1)

使用此查询:

SELECT `AUTO_INCREMENT` FROM  INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'DatabaseName'
AND TABLE_NAME   = 'TableName';

并在php中:

echo $size['AUTO_INCREMENT'];

答案 2 :(得分:0)

使用PDO,我使用&#34;单行&#34; 解决方案:

$nextId = $db->query("SHOW TABLE STATUS LIKE 'tablename'")->fetch(PDO::FETCH_ASSOC)['Auto_increment'];