※ 引述《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
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 有不少的差異,
這部份就請多翻書本了。