Sql 如何按id从两个表中选择数据
我有一个从表中获取数据并导出到xml的脚本,但我需要从两个不同的表中获取数据Sql 如何按id从两个表中选择数据,sql,xml,export,Sql,Xml,Export,我有一个从表中获取数据并导出到xml的脚本,但我需要从两个不同的表中获取数据 Table 1: Products i have inside: id code Table 2: Stock i have inside id qty 我的剧本是: <?php $db_host = "localhost"; $db_name = "test"; $db_username = "root"; $db_password = ""; $dbh
Table 1: Products
i have inside:
id code
Table 2: Stock
i have inside
id qty
我的剧本是:
<?php
$db_host = "localhost";
$db_name = "test";
$db_username = "root";
$db_password = "";
$dbh = mysql_connect($db_host, $db_username, $db_password) or die("Unable to connect to MySQL");
mysql_query('SET NAMES "utf8"');
mysql_select_db($db_name, $dbh) or die("Could not select $db_name");
$sql = "select * from products ";
$q = mysql_query($sql);
$custom = '"';
$xml = "\n";
$xml .= "<XML>\n";
while($r = mysql_fetch_assoc($q))
{
$xml .= " <PRODUCT code=$custom " . $r["code"] . "$cusmot qty=$custom " . $r["qty"] . "$custom />\n";
}
$xml .= "</XML>";
header("Content-type: text/xml");
echo $xml;
?>
需要帮助根据Products表上的id从库存结果中获取数量
欢迎提供任何帮助。您应该使用此查询,而不是代码中的查询:
SELECT p.id, p.code, s.qty
FROM product p, stock s
WHERE p.id = s.id
尝试更改SQL以从两个表中提取数据:
从产品p、库存s中选择p.code、s.qty,其中p.id=s.id
。有了这个改变,您的PHP看起来几乎(或完全)可以工作了 结果是:警告:mysql\u fetch\u assoc()希望参数1是resource,boolean表示欢迎。你能告诉我我建议的查询怎么不起作用吗?您的脚本正常工作了吗?警告:mysql_fetch_assoc()期望参数1是资源,布尔值给定inNo问题。你说的“不工作”是什么意思?根据您提供的信息,SQL是正确的。如果你自己解决了这个问题,你应该发布答案并接受它。您好,不,我没有解决这个问题,可能是正确的,但我得到了这个错误:警告:mysql\u fetch\u assoc()希望参数1是资源,布尔值在
SELECT p.id, p.code, s.qty
FROM products p
INNER JOIN stock s ON p.id = s.id