Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用pdo和oop删除php行的链接_Php_Sql_Oop_Pdo - Fatal编程技术网

使用pdo和oop删除php行的链接

使用pdo和oop删除php行的链接,php,sql,oop,pdo,Php,Sql,Oop,Pdo,我的案例:用户登录后。。。它会在桌子上显示他有什么书。。。我在每本书的侧面添加了删除链接。。。例如,我点击了侧边数学书中的“删除”链接,我想将其删除。。请告诉我怎么做。 我得到了这些书,但当我点击删除链接时,什么也没发生 此功能在用户登录时显示书籍 public function getBooks($start = 0, $limit = 2) { $sql_start = $start * $limit; $sql_limit = $limit; //SELECT l

我的案例:用户登录后。。。它会在桌子上显示他有什么书。。。我在每本书的侧面添加了删除链接。。。例如,我点击了侧边数学书中的“删除”链接,我想将其删除。。请告诉我怎么做。 我得到了这些书,但当我点击删除链接时,什么也没发生

此功能在用户登录时显示书籍

public function getBooks($start = 0, $limit = 2)
{
    $sql_start = $start * $limit;
    $sql_limit = $limit;

    //SELECT loginUser.username, Library.nameOfBook FROM loginUser JOIN userBook JOIN Library ON userBook.user_id = loginUser.id AND userBook.book_id = Library.id WHERE loginUser.username="loay";
    $query = "SELECT Library.nameOfBook FROM loginUser JOIN userBook JOIN Library ON userBook.user_id = loginUser.id AND userBook.book_id = Library.id WHERE loginUser.username=:username LIMIT $sql_start, $sql_limit";
    $statment = $this->db->prepare($query);
    $statment->execute([
        ':username' => $this->username
        //,':start' => $start, ':limit' => $limit
    ]);
    $result = $statment->fetchAll();

   echo "<table border='1'>
    <tr>
    <th>Books</th>
    <th>Action</th>
    </tr>";
    foreach($result as $row){
        echo "<tr>";
        echo "<td>" . $row['nameOfBook'] . "</td>";
        echo "<td>" ."<input type='submit' name='delete' value='Delete' method='post' " . "</td>";
        echo "</tr>";
    }
    echo "</table>";

    if(isset($_POST['delete'])){

        deleteBooks($id1, $id2);
    }
}
{


}

首先,您必须在链接上添加book.id

echo”“

单击“是”后,您将收到一个get请求。 不确定之后在何处调用delete函数,但可以传递$\u GET 它上面的参数
deleteBooks($\u GET['id])
。 以及它自身的功能
公共函数deleteBooks($book\u id){
$query=“从userBook中删除,其中userBook.user\u id=?和userBook.book\u id=?”;
$statment=$this->db->prepare($query);
$station->bind_参数(“ss”、$user_id、$book_id);
$station->execute();
// 
}

我想您应该在会话中存储用户id。

您需要在deleteBooks方法的execute函数中绑定参数,然后@这家伙有两个大拇指。。就是这样,你的函数除了准备一个查询之外什么都不做。。这就是为什么什么都没有发生我尝试绑定参数。。。还是不行。。请帮助我了解更多信息表中的链接不会将用户id或图书id传递给函数。因此,您只需调用它而无需任何参数。您的查询永远不会知道哪本书和哪位用户
  public function deleteBooks($id1, $id2)
    $id1 = $_GET['user_id'];
    $id2 = $_GET['book_id'];
    $query = "Delete FROM  userBook WHERE userBook.user_id=id1 AND userBook.book_id =id2";
    $statment = $this->db->prepare($query);
    $statment->execute([$id1, $id2]);
    $result = $statment->rowCount();
    $this->deleteBooks= ($result == "1");
    return $this->deleteBooks;