明明表格裡欄位沒有值,卻顯示刪除成功

edited 八月 2015 in PHP新手區
<?php session_start(); ?>

<?php
include("db.php");

$orderid = $_POST['orderid'];
$inputname = $_POST['inputname'];

mysql_query("SET NAMES 'utf8'");

$sql="delete from product where product_id ='$orderid' and custom_name ='$inputname'";

if(mysql_query($sql))
{
echo "刪除成功 ";

}
else
{
echo "刪除失敗 ";
}
?>


orderid、inputname 是text自己輸入的文字
網頁進去隨便亂打資料一直不會進到else

評論

  • http://php.net/manual/en/function.mysql-query.php

    For other type of SQL statements, INSERT, UPDATE, DELETE, DROP, etc, mysql_query() returns TRUE on success or FALSE on error.

    你那段SQL語法沒有錯誤, 所以固定回傳TRUE,
    你可以在執行SQL語法之前, 檢查你的輸入值是否合乎你的規則
  • 或是拿相同的編號 跟 名字
    再去做一次查詢

    有資料就代表沒有成功刪除
    這樣
  • edited 八月 2015
    mysql_query() => return true or false 是看你 sql string 是否有正確執行,
    delete 一筆不存在的資料但又沒有文法錯誤sql string,永遠是對的 .
    以下例子恆對

    $sql=\"delete from product where product_id ='19323' and custom_name ='ooxxoxo\";

    有人回答過了,抱歉
Sign In or Register to comment.