幫忙看一下這段php寫法是否有錯~!

edited 十月 2013 in PHP新手區
大大~

請問我的寫法是否有問題呢??我使用這個程式後,if這一段的if是要再判斷資料庫裡是否有一樣的類別($history_category),有-->"帳號請勿重覆" ,無-->執行else,if裡面又加一段if,它會去判斷資料庫是否有帳號,有-->"帳號請勿重覆" ,無-->執行else,但是,它有一個問題就是:好像是第一次的if判斷完之後,並不會判斷第二次的if。大大還是有其它的寫法呢?


目地:我寫入的帳號不能與同類別($history_category)的帳號重覆,但可以與不同類別的帳號重覆。

<?php
require "setup.php";

if($REQUEST_METHOD=="GET")die("請勿亂來!");

$str = " SELECT * FROM `history_top` where `帳號欄位名`='".$history_id_1."'";
$str_1 = " SELECT * FROM `history_top` where `類別欄位名 `='".$history_category."'";
//找出資料庫裡面叫 $history_id_1 的帳號
$link=mysql_connect($DB_SERVER,$DB_LOGIN,$DB_PASSWD);
$list=mysql_db_query($DB_NAME,$str,$link);
$result=mysql_db_query($DB_NAME,$str_1,$link);

//如果大於0筆表示有此帳號.又重覆輸入必然重覆.
//mysql_num_rows 指查詢筆數
if(mysql_num_rows($result)>0){

if(mysql_num_rows($list)>0)
{
echo "帳號請勿重覆" ;
}
}
else
echo "123456" ;

mysql_free_result($list);
?>

原始討論: http://twpug.net/x/modules/newbb/viewtopic.php?topic_id=1242

評論

  • edited 二月 2006
    if(mysql_num_rows($result)>0 && mysql_num_rows($list)>0){
    
    echo "帳號請勿重覆" ;
    
    }
    else
    echo "123456" ;
    

    小小的建議:
    1. 盡量不要使用在 register_globals = on 環境的習慣
    2. 記得過濾從表單送出的資料
    3. 記得使用 code 標籤...
  • edited 二月 2006
    大大~~

    這樣子寫好像還是不行耶~!!


    我剛剛試了一下,它只要是資料庫裡有$history_category=$history_category,它就會判斷大於0,可是....因為我是想寫:它與類別($history_category)重覆時就不可與帳號重覆,但它與類別不重覆時,就可以與帳號重覆。
    可能我表達的不好,請見諒~!!
  • edited 二月 2006
    <?php
    require "setup.php";
    
    if($REQUEST_METHOD=="GET")die("請勿亂來!");
    
    $str = "SELECT * FROM `history_top` where `帳號欄位名` = '".$history_id_1."' AND
    `類別欄位名 `='".$history_category."'";
    
    $link=mysql_connect($DB_SERVER,$DB_LOGIN,$DB_PASSWD);
    $result = mysql_db_query($DB_NAME,$str,$link);
    
    if(mysql_num_rows($result)>0) {
        echo "帳號請勿重覆" ;
    } else {
        echo "123456" ;
    }
    
    mysql_free_result($list);
    ?>
    
  • edited 二月 2006
    KIANG~大大~

    謝謝您~~~這個問題解決了~!!

    這個問是我苦思了好久~!!真的很感謝你~!

    看來我要再好好的練習~!!

    ^.^
Sign In or Register to comment.