【问题标题】:PHP PDO Insert gives Parse Error: expecting `T_STRING' or `T_VARIABLE' or `'{'' or `'$'', help? [closed]PHP PDO 插入给出解析错误:期待 `T_STRING' 或 `T_VARIABLE' 或 `'{'' 或 ''$'',帮助? [关闭]
【发布时间】:2011-07-04 12:25:54
【问题描述】:

我非常简单地使用 PDO 将一条记录插入到数据库中,但我得到一个解析错误

期待T_STRING' orT_VARIABLE' 或'{'' or'$''

我不明白。这是我的代码:

<?php

$host = "localhost";
$user = "refrigerator";
$pass = "xxxxx";
$dbname = "lifelapse";

$username = $_POST['username'];
$password = $_POST['password'];
$email = $_POST['email'];

$DBH = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass);

$data = array( 'username' => $username, 'password' => $password, 'email' => $email );

$STH = $DBH->("INSERT INTO users (username, password, email) values (:username, :password, :email)");
$STH->execute($data);

header("Location: confirmation.html");    

?>

错误在一行

$STH = $DBH->("INSERT INTO users (username, password, email) values (:username, :password, :email)");

任何人都可以对此有所了解吗?

提前致谢

【问题讨论】:

    标签: php mysql parsing insert pdo


    【解决方案1】:

    你需要提供一个函数。

    即:

    $DBH-&gt;("INSERT

     $DBH->prepare("INSERT
    

    【讨论】:

    • 感谢您的回复,我应该用什么替换'methodname'?
    • 不,必须是prepare,而不是query
    • 准备...正如@lonesomeday 建议的那样
    【解决方案2】:

    我认为您没有在该行调用方法。应该是:

     $STH = $DBH->prepare("INSERT INTO users (username, password, email) values (:username, :password, :email)");
    

    【讨论】:

      【解决方案3】:

      你需要调用PDO::prepare——你实际上并没有调用一个函数。

      $STH = $DBH->prepare("INSERT INTO users (username, password, email) values (:username, :password, :email)");
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-03-09
        • 2017-04-08
        • 1970-01-01
        • 1970-01-01
        • 2013-07-15
        • 2011-11-07
        相关资源
        最近更新 更多