看板 PHP 關於我們 聯絡資訊
showsql() 如果是涵式, 應該說不管是不是涵式... 請把您丟的那串換掉... 改成 if ($_POST){ $sql = "select * from admin where account = '".$account."' and password = '".$password."' "; $check = showsql($sql); echo count($check); } 會是 0 的原因很簡單, 因為 $account 跟 $password 沒有被解悉出來 所以sql 回直接代入 account='$account' 而不是 account='xxx' 有疑問的話請把sql 印出來看就知道了。 linux 跟 window 有不少的差異, 這部份就請多翻書本了。 ※ 引述《intangible (~*)》之銘言: : 恩恩 謝謝<_ _> : 不過我把sql語法改成都小寫也是一樣...Orz...(有種卡到陰的感覺 = =) : 我一個一個試 : 我先select * from `admin 然後把他echo出來是可以有資料的 : 代表資料庫連接應該是正常@@a : 後來改成 : if($_POST){ : $check=showsql("select * from `admin` where `account`='$account' : and `password`= '$password'"); : echo count($check); : } : 在windows輸出的結果是1 (輸入正確id和password) : 但上傳後linux輸出不論輸入正確與否都是出現0 ...囧" : 上面一直出現這種結果好奇怪阿Orz.. : 我還是另外有試改成 : if($_POST){ : $check=showsql("select * from `admin` where `account`='$account' : and `password`= '$password'"); : if(count($check)>0) : { : $_SESSION['admin']='yes'; : } : echo $_SESSION['admin']; : } : : 當然輸出一直沒有出現yes 因為前面count一直是0 Q口Qa : 到底還有什麼原因會造成呢 囧"""a : 感謝各位< _ _> : ※ 引述《arrack (Arrack Tseng)》之銘言: : 我的名片檔是寫給沒禮貌的人看,有禮貌的人不用特別在意 : 而且發在公共區域,可以得到更多回應 : 因為我說的也不一定是正確的,可以讓大家來教學相長。 : 根據你的描述windows底下可以,liunx底下不行 : 我猜是大小寫的問題 : 而你又說 : select * from 'admin' : 可以 : 所以問題應該是出在欄位身上 : WHERE `account` LIKE '$account' : AND `password` LIKE '$password'" : 其中一個欄位名稱大小寫不合吧。 : 最後你的檔案我建議找到 : $result=mysql_db_query( $mysql_database, $sql,$conn ); : 替換成 : if(!$result=mysql_db_query( $mysql_database, $sql,$conn ); ){ : ^^^多個分號XD : 不過還是謝謝<_ _> : echo "<div style='font-size:16px;'>sql:".$sql."</br>"; : echo "</br>error:";echo mysql_error();echo "</br></br>"; : echo "on ".$_SERVER['PHP_SELF']."</div>"; : exit(); : } : 可以幫助你除錯 : 可以看一下mysql語法有沒有錯誤 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.36.187.88