我试图从2个表中提取数据
$query2 = mysql_query("SELECT * FROM supplier_stats, supplier_registration WHERE supplier_stats.company_reg_number = supplier_registration.company_reg_number AND supplier_stats.insurance_date = DATE(NOW())");
while($row = mysql_fetch_array( $query2 )) {
echo "<div class=\"contact_details\">Supplier Contact Details:<br/>";
echo "<p>".$row['contact_name']."</p></div>";
echo "<div class=\"contact_details\">Supplier Contact Details:<br/>";
echo "<p>".$row['contact_email']."</p></div>";
} ?>
我要做的是从一个表格insurance_date
获取supplier_stats
,从表格supplier_registration
获取联系人详细信息,然后将company_number
分别列入{{1}}表格,但这并没有拉过任何东西,我没有得到任何错误。
答案 0 :(得分:1)
试试这个,
$query2 = mysql_query(" SELECT supplier_registration.contact_name,
supplier_registration.contact_email
FROM supplier_registration
INNER JOIN supplier_stats
ON supplier_registration.company_reg_number = supplier_stats.company_reg_number
WHERE supplier_stats.insurance_date = DATE(NOW())");
答案 1 :(得分:0)
试试这个
$query2 = mysql_query("SELECT supplier_stats.* FROM supplier_stats, supplier_registration WHERE supplier_stats.company_reg_number = supplier_registration.company_reg_number AND supplier_stats.insurance_date = CURDATE()");
while($row = mysql_fetch_array( $query2 )) {
echo "<div class=\"contact_details\">Supplier Contact Details:<br/>";
echo "<p>".$row['contact_name']."</p></div>";
echo "<div class=\"contact_details\">Supplier Contact Details:<br/>";
echo "<p>".$row['contact_email']."</p></div>";
} ?>
由于company_reg_number在两个表中都不明确,因此会抛出错误
使用CURDATE()
代替DATE(NOW())
还要避免使用已弃用的mysql _ *
答案 2 :(得分:0)
尝试这样的查询:
SELECT ss.insurance_date, sr.contact_details
FROM supplier_stats ss
JOIN supplier_registration sr ON sr.company_reg_number = ss.company_reg_number
WHERE ss.insurance_date = CURDATE()
请注意,我将*
替换为您提到的两个项目。不确定contact details
是一个字段还是多个字段,但您可以根据需要进行更改。这里的要点是JOIN
。
此外,这应该不用说,不要使用mysql_*
- 而应该使用mysqli
或pdo
答案 3 :(得分:0)