0
我有圖像的URL和圖像ID的幾張桌子,我希望能夠用一個PHP從每個表中刪除頁面和查詢。表不起作用MYSQL
的$ tableToDeleteFrom被設置爲在URL中的變量(例如delete.php表=什麼?)
$tableToDeleteFrom = $_GET['table'];
這裏是我的查詢/ PHP的 - 看來這是哪裏的問題可能是,出於某種原因,當$ tableToDeleteFrom不是一個變量,一切工作正常。圖像被刪除,重定向帶來的是回到正確的頁面。不過,我需要這是動態的,因爲用戶需要能夠選擇他們想要在url中顯示的部分。
if (isset($_GET['id'])) {
$id = $_GET['id'];
$query = $pdo->prepare('DELETE FROM '.$tableToDeleteFrom.' WHERE id = ?');
$query->bindValue(1, $id);
$query->execute();
header('Location: img_delete_new.php?table='.$tableToDeleteFrom);
}
這裏是取表中的每一行,並把它放入陣列中的代碼的下位要被訪問的PHP:
class Image {
public function fetch_all() {
global $pdo;
$tableToDeleteFrom = $_GET['table'];
$query = $pdo->prepare("SELECT * FROM ".$tableToDeleteFrom);
$query->execute();
return $query->fetchAll();
}
}
$image = new Image;
$images = $image->fetch_all();
這裏是允許用戶選擇哪個圖像的形式他們希望刪除:
<form action="img_delete_new.php" method="get">
<?php foreach ($images as $image) { ?>
<div class="delete">
<input type="radio" name="id" value="<?php echo $image['id']; ?>">
<img src="../images/thumbs/<?php echo $image['name']; ?>"><br>
<?php echo $image['desc']; ?>
</div>
<?php } ?>
<input type="submit" value="Delete Image" class="button">
</form>
[如何防止在PHP中SQL注入?(http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php) – kunal
這是一個重職。不要那麼做!同一(刪除)帖子的答案是,你從來沒有在表單/表單url中設置表名。不難做/發現,對嗎? – djot
@djot啊是的!,我不明白你的意思。但是,我將隱藏的變量添加到表單中。謝謝! – mpn