You need to do this: $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, true); before you call $db->prepare().
hint: if you did this: $db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); (see http://us2.php.net/manual/en/ref.pdo.php#pdo.error-handling) you'd get an exception: 'SQLSTATE[HY000]: General error: 2030 This command is not supported in the prepared statement protocol yet' --Wez. On 4/22/06, Ralph Schindler <[EMAIL PROTECTED]> wrote: > Is it not possible to run the "show create table __" via PDO? I swear I > was able to do this in the past, and for some reason this is not > working. Am I doing something wrong, is this a bug, or is this planned? > > Pasted below is the mysql command and result expected, test code, and > its result. > > -ralph > > > > > #### PROOF THE COMMAND WORKS > > [EMAIL PROTECTED] ~/development/code/php5.1-200604220230 $ echo "show > create table blog_comments" | mysql -u root --password=xxxxxx test > Table Create Table > blog_comments CREATE TABLE `blog_comments` (\n `id` int(11) NOT NULL > auto_increment,\n `blog_entry_id` int(11) NOT NULL,\n `comment` text > NOT NULL,\n `comment_datetime` datetime NOT NULL,\n PRIMARY KEY > (`id`),\n KEY `FK_blog_comments_1` (`blog_entry_id`),\n CONSTRAINT > `FK_blog_comments_1` FOREIGN KEY (`blog_entry_id`) REFERENCES > `blog_entries` (`id`) ON DELETE CASCADE ON UPDATE CASCADE\n) > ENGINE=InnoDB DEFAULT CHARSET=utf8 > > > #### THE TEST SCRIPT > > [EMAIL PROTECTED] ~/development/code/php5.1-200604220230 $ cat > /home/ralph/development/vhosts/ralphschindler.com/development/test_show.php > <? > > $db = new PDO("mysql:dbname=test", "root", "xxxxxx"); > > echo "\nTEST PREPARED-------\n"; > > try { > $stmt = $db->prepare("SHOW CREATE TABLE blog_comments"); > $stmt->execute(); > print_r($stmt); echo "\n"; > $result = $stmt->fetchAll(PDO::FETCH_ASSOC); > print_r($result); > echo "no exceptions\n"; > } catch (Exception $e) { > echo $e->getMessage(); > echo "exception"; > } > > echo "\n\nTEST QUERY--------\n"; > > try { > $thing = $db->query("SHOW CREATE TABLE blog_comments"); > print_r($thing); echo "\n"; > echo "no exception\n"; > } catch (Exception $e) { > echo $e->getMessage(); > echo "exception"; > } > > > #### TEST SCRIPT OUTPUT > > > [EMAIL PROTECTED] ~/development/code/php5.1-200604220230 $ ./sapi/cli/php > /home/ralph/development/vhosts/ralphschindler.com/development/test_show.php > > TEST PREPARED------- > PDOStatement Object > ( > [queryString] => SHOW CREATE TABLE blog_comments > ) > > Array > ( > ) > no exceptions > > > TEST QUERY-------- > > no exception > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php > > -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php