【发布时间】:2016-08-31 19:23:14
【问题描述】:
我运行这个 sql 语句使用内部连接从数据库中删除,但是我得到了太多错误
错误
致命错误:带有消息的未捕获异常“PDOException” 'SQLSTATE[42000]: 语法错误或访问冲突:1064 你有一个 SQL 语法错误;检查与您对应的手册 MariaDB 服务器版本,用于在 'INNER JOIN 附近使用正确的语法 ipaddress_likes_map ON ipaddress_likes_map.postat = blog_post.BID INN' 在 C:\xampp\htdocs\codejail.net_inc\dbcontroller.php:57 的第 3 行 堆栈跟踪:#0 C:\xampp\htdocs\codejail.net_inc\dbcontroller.php(57): PDOStatement->execute() #1 C:\xampp\htdocs\codejail.net\user\deleteaccount.php(88): DBController->execute() #2 {main} 抛出 C:\xampp\htdocs\codejail.net_inc\dbcontroller.php 第 57 行
这是我的代码
<?php
if(isset($_POST['delete'])){
$pass = $_POST['pasyske'];
$userkey = $_POST['username'];
$db_delete = new DBController();
$db_delete->prepare("DELETE
FROM blog_post
INNER JOIN ipaddress_likes_map ON ipaddress_likes_map.postat = blog_post.BID
INNER JOIN flagpost ON flagpost.postId = blog_post.BID
INNER JOIN postviewmap ON postviewmap.viewpostId = blog_post.BID
INNER JOIN replys ON replys.rid = blog_post.BID
INNER JOIN votepoint_map ON votepoint_map.postlike_id = blog_post.BID
WHERE blog_post.UserName = :alluserpost");
$db_delete->bind(":alluserpost", $userkey);
//$db_delete->bind(":password", $encrypt_password);
$db_delete->execute();
$pdeleted = $db_delete->getAll();
$db_delete->free();
if($pdeleted){
print_r($pdeleted);
}
}?>
我确定我的数据库控制器没问题,因为当我运行单个删除语句时它工作得很好
【问题讨论】: