我試圖從mysql的用戶表中刪除記錄,無法刪除PHP中的數據庫(mySQL)記錄,我哪裏出錯了?
代碼是這樣的。
if(isset($_GET['id'])) {
//create query to delete the record
$query = "DELETE FROM users WHERE id =" . int($_GET['id']) or die(mysql_error());
//execute query
if($mysqli->query($query)) {
//print number of affected rows
echo $mysqli->affected_rows. " row(s) affected";
}
else {
//print error message
echo "Error in query : $query " . $mysqli->error;
}
}
else {
echo "Could not Execute the Delete query";
}
在同一時間我從數據庫中的users表中迭代記錄,它是這樣的。
//query to get records
$query = "SELECT * FROM users";
//execute query
if($result = $mysqli->query($query)) {
// see if any rows were returned
if($result->num_rows > 0) {
// if yes then print one after another
echo "<table cellpadding=10 border=1>";
while($row = $result->fetch_array()) {
echo "<tr>";
echo "<td>" .$row[0] . "</td>";
echo "<td>" .$row[1] . "</td>";
echo "<td>" .$row[2] . "</td>";
echo "<td><a href =" . $_SERVER['PHP_SELF']. "?id" .$row[0]. ">Delete</a></td>";
echo "</tr>";
}
echo "</table>";
}
$result->close();
}
的問題是,我能夠從數據庫中獲取的記錄,並顯示在瀏覽器,但是當我嘗試刪除該記錄的第一個條件沒有通過,即如果(isset($ _ GET [」 id'])),而是去其他條件並打印消息「無法執行刪除查詢」,我想它不能獲取$ _GET ['id']所以只有它拒絕進入if條件,
PS:我將不勝感激,如果有人介紹我用通俗的話說,我是一個新手到編程,感謝..
如何使用URL來執行這個查詢是什麼樣子? – Mchl 2010-08-01 17:02:08
不要忘記標記正確答案;) – Mchl 2010-08-01 17:33:16
你不需要在查詢行使用'或die()',你只是定義了一個字符串,而不是與數據庫交互:'$ query =「DELETE FROM users WHERE id =「。 int($ _ GET ['id']);' – 2010-08-01 18:18:09