为了账号安全,请及时绑定邮箱和手机立即绑定

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

$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 回答

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


0 回复 有任何疑惑可以回复我~
$sql = 'SELECT * FROM :table_name'; // 命名参数

修改成

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


0 回复 有任何疑惑可以回复我~
#1

Element 提问者

也试过了,不行,实在搞不懂才发的提问
2015-10-27 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信