SQL/PHP没有得到任何结果
问题描述:
我有这个脚本,由于某种原因,我得到“没有结果”。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);
答
您没有得到结果,因为您的查询不正常。
$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
你确认存在与该数据相匹配的querry? – 2015-11-04 22:04:55
''$ town_city''是一列吗?如果是的话应该使用反引号。也打开你sql注入.. – chris85
你能解释一下吗? –