2013-01-16 71 views
0

我認爲這應該工作,但它是不是...檢查是否紀錄MySQL數據庫存在

基本上我想檢查MySQL數據庫,以查看是否有滿足2 variables..if沒有記錄如果是的話,做一件事做另一件事。結果總是在這一點上沒有。

$result = mysql_query("SELECT 'lastname' FROM 'Cust_Releases' WHERE 'lastname' = '$usercheck' AND   'TripID'= '$RLtripid'"); 
echo $result; 
if(mysql_num_rows($result) == 0) { 
echo"no";// row not found, do stuff... 
} 
else { 
echo"yes"; // do other stuff... 
    } 
+0

什麼在查詢到部分的變量包含哪些內容?你確定數據庫中有這樣的記錄嗎? – shadyyx

+3

看起來不錯。但是你不應該使用mysql_query它已經被棄用了。使用PDO並準備好語句 –

+1

是'echo $ result;'導致正在停止代碼的錯誤?嘗試評論這一行。 – Pitchinnate

回答

1

首先,停止使用mysql_ *函數,因爲從PHP 5.5.0起不推薦使用此擴展。

第二總是在數據庫名稱,表名稱和列名稱周圍使用(`)符號。

您有使用的保留字RELEASE

$sql = "SELECT `lastname` FROM `Releases` WHERE `lastname` = '$usercheck' AND `TripID` = '$RLtripid'"; 

Reserved words you find here

+0

100%同意第一個。不同意第二個。這些僅在*與保留字發生衝突時是必需的*。所以,更好的是,總是避免使用保留字 - http://stackoverflow.com/questions/5952677/should-i-use-backticks-or-not-when-escaping-keywords-in-mysql –

+0

這應該是一個評論因爲似乎沒有任何東西可以解決OP問題 – andy

+0

感謝您的快速響應...... db中有一條記錄,我可以回顯列姓氏並打印記錄,這是db – Dean

1
$result = mysql_query("SELECT lastname FROM `Releases` WHERE lastname = '$usercheck' AND TripID= '$RLtripid' LIMIT 1"); 
if (!$result) { 
    die('Invalid query: ' . mysql_error()); 
} 
echo $result; 
if(mysql_num_rows($result) == 0) { 
echo"no";// row not found, do stuff... 
} 
else { 
echo"yes"; // do other stuff... 
    } 
  • 逃離 '發佈',因爲Bondye建議
  • 添加 'LIMIT 1' 來查詢,以允許早期輸出的可能性時,有超過一個匹配記錄。你似乎不需要總數。如果存在唯一的限制條件可以保證只有一行可以返回,則可能不會產生任何影響
  • mysql_query已被棄用。在真實代碼中,您應該使用PDO並準備語句/綁定變量!
+0

這工作,但我不明白爲什麼會和我的代碼不會..謝謝你。 – Dean

0

調試在編程中是非常重要的。首先確保varibales $ usercheck和$ RLtripid包含值。

 
----------------------- 
$sql = "SELECT `lastname` FROM `Cust_Releases` WHERE `lastname` = '$usercheck' AND `TripID`= '$RLtripid'"; 
echo $sql; 
$result = mysql_query($sql); 
....------------------- 
+0

是的,我明白,我可以單獨迴應這些,並看到正確的結果。但是,如果我回應我的$結果我得到資源ID#19。 – Dean

-1
Try this code. It will help you 

$result = mysql_query("SELECT COUNT(*) from Cust_Releases lastname = '$usercheck' AND TripID= '$RLtripid'"); 
if($result == 0) { 
echo"no";// row not found, do stuff... 
} 
else { 
echo"yes"; // do other stuff... 
    } 
+0

是的,代碼什麼也沒做...... – Dean