Php PDO给出Mysql错误1146
我真的很生气$已提供deleteID,未绑定任何内容。为什么不呢,请有人帮忙Php PDO给出Mysql错误1146,php,mysql,pdo,mysql-error-1146,Php,Mysql,Pdo,Mysql Error 1146,我真的很生气$已提供deleteID,未绑定任何内容。为什么不呢,请有人帮忙 使PDO在出现错误时引发异常, $pdo->setAttribute(pdo::ATTR_ERRMODE,pdo::ERRMODE_异常) 连接之后 确保您可以在日志或屏幕上看到发生的错误 运行你在这里发布的代码,而不是其他代码。正如在其他代码中一样,可能存在与绑定问题无关的其他错误 对于表不存在的问题您必须检查错误,如打字错误、字母大小写、连接的服务器错误、编辑的PHP文件错误等,您正在针对本地主机运行PHPMyAd
$pdo->setAttribute(pdo::ATTR_ERRMODE,pdo::ERRMODE_异常)代码>
连接之后
对于
表不存在的问题
您必须检查错误,如打字错误、字母大小写、连接的服务器错误、编辑的PHP文件错误等,您正在针对本地主机运行PHPMyAdmin,而实际脚本针对远程主机或类似的东西。如果它说表不存在,那么表就不存在
要么连接到错误的服务器,要么选择错误的数据库,要么出现案例问题
[…]因此,底层操作系统的大小写敏感度在数据库、表和触发器名称的大小写敏感度中起着重要作用。这意味着这些名称在Windows中不区分大小写,但在大多数Unix中区分大小写
确保您正在连接到当前正在查看的同一数据库和服务器
$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是提供的
,那么$my_id呢?是的,这是在server.php中提供的。我包含了特定数量的代码。我删除了这个线程中的大量代码,只包含了主要内容。到底出了什么问题?您是否收到错误消息?错误是什么?到底发生了什么?没有结果?错误的数据?查询中有错误吗?你检查过错误了吗?您是否打开了数据库中的查询日志记录并检查了正在执行的查询?“您被激怒并不是帮助我们解决您的问题的问题描述。@Jake在$deleteID
为空或用户不是管理员时(根据您以前的较长代码示例),它也会echo
s2。”。您确定它甚至到达了SQL吗?致命错误:未捕获异常“PDOException”,消息为“SQLSTATE[42S02]:未找到基表或视图:1146 table“web-xpherio_db2.user_posts”在/home/blah->But中不存在。该表确实存在:@Jake您在PHP代码中使用的用户帐户是否具有修改该表的权限?是。有一个用户帐户。它也是一个管理员,所以在这个检查之后,它会说“这个用户是管理员吗?”如果是,它会使该检查无效并继续脚本。
print_r( $pdo );