2016-07-06 110 views
-5

你好,我沒有什麼問題,這一點:DELETE PHP的MySQL不工作

require_once("dbconnect.php"); 
mysql_query('set names utf8'); 

    $query = ('DELETE FROM `gallery` WHERE `id` = 16') or die("failed"); 

它不是從數據庫中刪除記錄。你可以幫我嗎?謝謝。 dbconnect.php是正確的。

+1

你'$查詢=( 'DEL ...'必須是'$查詢=請求mysql_query(' 刪除...'也爲-1,問題表明不遺餘力。 – castis

+2

[Little Bobby](http://bobby-tables.com/)說*** [你的腳本存在SQL注入攻擊風險。](http://stackoverflow.com/questions/60174/how-can-i -prevent-sql -injection-in-php)***。甚至[轉義字符串](http://stackoverflow.com/questions/5741187/sql-injection-that-gets-around-mysql-real-escape-字符串)是不安全的! –

+2

***請[停止使用'mysql_ *'函數](http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php)。 *** [這些擴展](http://php.net/manual/en/migration70.removed-exts-sapis.php)已在PHP 7中刪除。瞭解[prepared](http://en.wikipedia .ORG /維基/ P repared_statement)語句[PDO](http://php.net/manual/en/pdo.prepared-statements.php)和[MySQLi](http://php.net/manual/en/mysqli.quickstart.prepared -statements.php)並考慮使用PDO,[這真的很簡單](http://jayblanchard.net/demystifying_php_pdo.html)。 –

回答

2

你所做的只是聲明一個變量$query,但是你沒有運行它。您必須運行它是$query = mysql_query('DELETE FROM `gallery` WHERE `id` = 16')

編輯:話雖如此,請勿使用mysql_函數。他們允許SQL注入,這是非常危險的。相反,它是更好地使用

$mysqli = new mysqli(HOST, USERNAME, PASSWORD, DATABASE); 
$query = $mysqli->query('DELETE FROM `gallery` WHERE `id` = 16');