2015-11-04 90 views
-3

我有這個腳本,由於某種原因,我得到「沒有結果」。SQL/PHP沒有得到任何結果

$town_city = $_POST["town_city"];  
$partner_emails = "SELECT GROUP_CONCAT(email_address SEPARATOR ', ') FROM partners WHERE '$town_city' ='yes'"; 
$connect->query($partner_emails); 
if ($result = $connect->query($partner_emails)) { 
    $row = $result->fetch_row(); 
    if(!empty($row[0])){ 
     $partner_emails = $row[0]; 
    } 
    else { 
     echo "Error: no results<br>"; 
     $partner_emails = false; 
    } 
    // CLOSE YOUR RESULTS 
    $result->close(); 
} 
else { 
    echo "Error in the connection<br>"; 
    $partner_emails = false; 
} 
@mail($partner_emails, $supplier_subject, $supplier_message, $supplier_headers); 
+0

你確認存在與該數據相匹配的querry? – 2015-11-04 22:04:55

+0

''$ town_city''是一列嗎?如果是的話應該使用反引號。也打開你sql注入.. – chris85

+0

你能解釋一下嗎? –

回答

1

您沒有得到結果,因爲您的查詢不正常。

$partner_emails = "SELECT GROUP_CONCAT(email_address SEPARATOR ', ') FROM partners WHERE '$town_city' ='yes'"; 

比方說,$ town_city ='ABC';

因此,最終的查詢將會

$partner_emails = "SELECT GROUP_CONCAT(email_address SEPARATOR ', ') FROM partners WHERE 'ABC' ='yes'"; 

在這裏,你會搞亂事情了。 'ABC'不能是column應該ABC

所以您的查詢就會像

$partner_emails = "SELECT GROUP_CONCAT(email_address SEPARATOR ', ') FROM partners WHERE $town_city ='yes'"; 
//$town_city without single quotes around it 
+0

使用反引號。還有SQL注入說明... – chris85

+0

什麼是回滾? –

+0

@BradHouston:'這被稱爲回滾,所以列名應該是'ABC' – Mubin