来源:2-1 [PDO] exec()方法执行建表操作

IFELSE

2014-11-01 15:15

我也是,连接是成功的。object(PDO)#1 (0) { } bool(false)

<?php
//exec();执行sql语句并返回其受影响的条数,如果没有返回条数是0。不能执行select
    try {
        $pdo=new PDO('mysql:host=localhost;dbname=cms','root','root');
        var_dump($pdo);
        $sql=<<<EOF
            CREATE TABLE IF NOT EXISTS `cms_aa` (`id` int(10) unsigned NOT NULL auto_increment,`username` varchar(100) NOT NULL,`password` varchar(50) NOT NULL);
EOF;
        $res=$pdo->exec($sql);
        var_dump($res);    
         
    } catch (PDOException $e) {
        echo $e->getMessage();
    }
?>


写回答 关注

7回答

  • 慕桂英6181220
    2019-05-29 18:25:05

    我也遇到了这个问题

    <?php

    //设置字符集

    header('Content-Type:text/html;charset=utf-8');

    //设置数据库的DSN信息

    $dsn='mysql:host=localhost;port=3306;dbname=project5;charset=utf8';

    echo $dsn.'<br>';

    try{

    $pdo=new PDO($dsn,'root','root');

    }catch(PDOException $e){

    //连接失败,输出异常信息

    exit('PDO连接数据库失败;'.$e->getMessage());

    }

    echo 'PDO连接数据库成功';//此行输出用于查看运行结果,在后面步骤删除即可。

    echo '<br>';

    var_dump($pdo);

    ?>


    执行结果是这样的

    https://img1.mukewang.com/5cee5df00001ea5105100185.jpg

    望老师指点

  • 天添1991
    2015-12-13 22:26:53

    所以这个问题到底解决没有啊?我也遇到了

    天添1991

    啊。。。数据库语句写错了。。。[尴尬脸]

    2015-12-13 22:37:14

    共 1 条回复 >

  • change_life
    2015-05-13 20:07:42

    http://img.mukewang.com/55533e3c0001fe2605700503.jpg使用错误信息输出函数,没错误输出,但返回一个布尔类型(boolean:flase)什么情况,求赐教

  • 慕设计5951087
    2015-03-30 15:15:07

    看来有很多小伙伴都遇到了一样的问题,我的连接成功,返回一个布尔类型(boolean:flase)不知道是为什么,希望老师抽时间看一看哦!曝光代码:

    try{
    		$pdo = new PDO('mysql:host=localhost;dbname=tb','root','123456');
    		if($pdo){
    			echo "连接成功";
    		}else{
    			echo "连接失败".mysql_error();
    		}
    		var_dump($pdo);
    		$sql =<<<EOF
    		CREATE TABLE IF NOT EXISTS `user`(
    			`id` INT UNSIGNED AUTO_INCREMENT PRIMARY KEY CONMENT '用户的ID',
    			`username` VARCHAR(30) NOT NULL UNIQUE CONMENT '用户名',
    			`pass` char(32) NOT NULL CONMENT '用户密码',
    			`email` VARCHAR(30) NOT NULL CONMENT '用户邮箱'
    			)ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
    EOF;
    
    
    	$res =$pdo->exec($sql);
    	var_dump($res);
    	print_r($pdo->errorInfo(),true);
    	// print_r($pdo->errorInfo(),true);
    	}catch(PDOException $e){
    		echo $e->getMessage();
    	}
    	
    
     ?>


  • scbzyj
    2015-01-26 11:12:12

    主键

    $sql=<<<EOF

                CREATE TABLE IF NOT EXISTS `cms_aa` (`id` int(10) unsigned NOT NULL auto_increment key,`username` varchar(100) NOT NULL,`password` varchar(50) NOT NULL);


  • 隋小闹
    2014-11-18 17:21:22

    你可以把这句话的错误信息输出一下

    $res=$pdo->exec($sql);
    print_r( $pdo -> errorInfo(), true);
    //根据错误信息调试一下


  • IFELSE
    2014-11-01 15:16:45

    激动了  为什么执行创建表返回bool(false)

PDO—数据库抽象层

本教程主要通过实战演练深入剖析PDO以加深理解

30048 学习 · 421 问题

查看课程

相似问题