2013-01-20 32 views
-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,没有任何内容被绑定。为什么不呢,请别人帮忙。PDO给Mysql错误1146

+0

好的,'$ deleteID提供',那么$ my_id ? –

+0

是的,这是在server.php中提供的。我包含了特定数量的代码。我在这个线程中删除了大量的代码,只是包含了主要的东西。 – Jake

+0

究竟出了什么问题?你是否收到错误信息?什么是错误? –

回答

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

对于你必须检查错别字一样,字母大小写错误的Table doesn't exist问题,错误的服务器连接,错误的PHP文件编辑等说,你是对本地主机上运行phpMyAdmin的,而对远程主机或某物的实际脚本那种。

+0

致命错误:带有消息'SQLSTATE [42S02]的未捕获异常'PDOException':未找到基本表或视图:1146/home/blah->中的表'web-xpherio_db2.user_posts'不存在' 但是。该表存在:http://i.imgur。com/nC1S78e.png – Jake

+0

@Jake您在PHP代码中使用的用户帐户是否有权修改该表? – AgentConundrum

+0

是的。有一个用户帐户。而且它也是管理员,所以在检查之后,它会说“这个用户是管理员吗?”如果是的话,它会无效检查并继续执行脚本。 – Jake

1

如果表示表不存在,则该表不存在。

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

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

[..] Consequently, the case sensitivity of the underlying operating system plays a part in the case sensitivity of database, table, and trigger names. This means such names are not case sensitive in Windows, but are case sensitive in most varieties of Unix.

请确保您连接到相同的数据库和服务器目前你正在寻找

print_r($pdo); 

这不是一个授权问题。

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