2015-08-13 117 views
0
$com_emails=mysql_real_escape_string($_POST['com_email']); 
//$E=mysql_query("SELECT users.user_id FROM users WHERE users.email = '".$com_emails."' LIMIT 1"); 
$E=mysql_query("SELECT users.user_id FROM users WHERE users.email = '[email protected]' LIMIT 1"); 
$E_row = mysql_fetch_row($E); 
echo $E_row[0]; 

當我使用$ com_emails查詢似乎不工作。如果我手動添加電子郵件,它工作得很好。我也嘗試做''$ com_emails'「,但似乎沒有任何工作。提交MySQL查詢

是否有語法問題,我缺少明顯

+0

請開始使用'mysqli_ *''如* mysql_'是depracted,將被刪除 – SuperDJ

+0

你檢查的'價值$ _ POST [ 'com_email']'? –

+0

POST值正常。我首先做了迴音檢查。 –

回答

1

你看到關於MySQL的擴展的錯誤被棄用?我假設你在致電mysql_real_escape_string之前建立了你的db連接?我建議你嘗試類似只是爲了看看是怎麼回事如下: -

@error_reporting(E_ALL); 
$com_emails=$_POST['com_email']; 
$sql="SELECT `user_id` FROM `users` WHERE `email` = '".$com_emails."' LIMIT 1"; 

echo $sql; 
/* Uncomment below if th sql looks correct etc */ 
/* 
$E=mysql_query($sql); 
$E_row = mysql_fetch_row($E); 
echo $E_row[0]; 
*/ 
+1

需要注意的是,上面的代碼片段不應該用於真實情況,因爲在調用數據庫之前沒有(NONE)清除提交的數據 - 因此將您的應用程序暴露給sql注入。開始使用PDO或至少使用mysqli是非常明智的。如果你有很多很多的代碼,遷移到PDO等等是一種痛苦,但最終還是很重要的...... – RamRaider