为什么我的总是 boolean false

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

qq_Runningman_14242494

2017-01-03 21:49

<?php

    //连接数据库

    $dsn = 'mysql:host=127.0.0.1;dbname=imooc';

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

    //SQL语句

    $sql=<<<EOF

     CREATE TABLE user(

       id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,

       username VARCHAR(20) NOT NULL UNIQUE,

       password CHAR(32) NOT NULL,

       email VARCHAR(30) NOT NULL

     );

EOF;

    $RE = $pdo->exec($sql);

    var_dump($RE);

?     为什么我的总是 boolean false


写回答 关注

2回答

  • 无畏前行
    2017-01-13 17:02:19

    <?php

    header("Content-type:text/html;charset=utf-8");

    try {

        //pdo_exec()执行一条sql语句并返回其受影响的行数,没有受影响的行数则返回0

        //pdo_exec()对应select查询操作无效

        $pdo = new PDO('mysql:host=localhost;dbname=test','root','root');

        $sql=<<<EOF

            CREATE TABLE IF NOT EXISTS ceshi (

                id INT UNSIGNED AUTO_INCREMENT KEY,

                username VARCHAR(20) NOT NULL UNIQUE,

                password CHAR(32) NOT NULL,

                email VARCHAR(30) NOT NULL,

            );

    EOF;

        $res = $pdo->exec($sql);

        var_dump($res);

    }catch (PDOException $e){

        echo $e->getMessage();

    }

    运行之后,为什么我的也是bool(false);

    无畏前行 回复jw3631...

    Thank you

    2017-04-24 18:02:32

    共 3 条回复 >

  • 向大佬看齐
    2017-01-04 18:12:12

    try {
     $pdo=new PDO('mysql:host=127.0.0.1;dbname=xsgl','root','');
     //var_dump($pdo);
      $sql=<<<EOF
      CREATE TABLE IF NOT EXISTS myuser2(
      id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
      username VARCHAR(20) NOT NULL UNIQUE,
      password CHAR(32) NOT NULL,
      email VARCHAR(30) NOT NULL
      );
    EOF;
     $res=$pdo->exec($sql);
     var_dump($res); 
    } catch (PDOException $e) {
     echo $e->getMessage();
    }

    不错啊



PDO—数据库抽象层

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

30043 学习 · 396 问题

查看课程

相似问题