-1
    $deleteID = $_POST['oz'];
    if(!$deleteID){
        echo '2';
        die;    
    } else {
        //It should be working.
    }
    $checkVar = $pdo->prepare("SELECT * FROM `user_posts` WHERE `id`=:delete");
    $checkVar->bindValue(':delete',$deleteID,PDO::PARAM_STR);
    if($checkVar->execute() == false){
        echo '2';
        die;
    }

我真的很生气。提供了 $deleteID,没有绑定任何内容。为什么不行,求大神帮忙。

4

2 回答 2

4
  1. 连接后使 PDO 在错误时抛出异常
    $pdo->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
  2. 确保您可以在日志或屏幕上看到发生的错误。
  3. 运行您在此处发布的代码,而不是其他代码。与其他代码一样,可能存在其他错误,与您的绑定问题无关。

对于这个Table doesn't exist问题,您必须检查诸如拼写错误、字母大小写、错误的服务器连接、错误的 PHP 文件编辑等错误。比如说,您正在针对 localhost 运行 PHPMyAdmin,而针对远程主机或类似的东西运行实际脚本。

于 2013-01-20T08:34:02.807 回答
2

如果它说该表不存在,则该表不存在。

您要么连接到错误的服务器,要么选择了错误的数据库,要么遇到了案例问题。

http://dev.mysql.com/doc/refman/5.5/en/identifier-case-sensitive.html

[..] 因此,底层操作系统的大小写敏感性在数据库、表和触发器名称的大小写敏感性中起作用。这意味着此类名称在 Windows 中不区分大小写,但在大多数 Unix 中都区分大小写。

确保您正在连接到您当前正在查看的同一数据库和服务器

print_r( $pdo );

这不是授权问题。

还有一个建议。如果您生气了,请休息一下,喝杯茶,冷静下来,然后阅读“您的常识”出色的答案并再次查看您的代码:)

于 2013-01-20T09:14:45.860 回答