PDO SELECT 时 $stmt->bindParam() 绑定参数一直不成功

来源:3-3 [PDO] bindParam()方法绑定参数

Element

2015-10-27 14:26

$dsn = 'mysql:host=127.0.0.1;dbname=test';
$username = 'root';
$password = 'root';
try {
    $pdo = new PDO($dsn, $username, $password);
} catch (PDOException $e) {
    echo $e->getMessage();
    exit;
}

$sql = 'SELECT * FROM :table_name'; // 命名参数
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':table_name', $table_name, PDO::PARAM_STR); // 绑定到$table_name 变量
$table_name = 'yd_user'; // 给变量赋值
$stmt->execute();

print_r($stmt->errorInfo());
// print_r($stmt->fetchAll());

// --------------------------
// 输出错误信息:
Array
(
    [0] => 42000
    [1] => 1064
    [2] => You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''yd_user'' at line 1
)


写回答 关注

2回答

  • Sun丶发发
    2019-01-18 16:24:48

    其实你的SQL语句是select * from 'yd_user';


  • 紫焰123
    2015-10-27 14:55:23
    $sql = 'SELECT * FROM :table_name'; // 命名参数

    修改成

    $sql = "SELECT * FROM :table_name"; // 命名参数


    Elemen...

    也试过了,不行,实在搞不懂才发的提问

    2015-10-27 15:04:29

    共 1 条回复 >

PDO—数据库抽象层

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

30036 学习 · 396 问题

查看课程

相似问题