Php多mySQL查询
是否可以在一个查询中从多个表中检索数据数组?例如,我从表1中获取一个数组,但我也想从其他几个表中检索数据:Php多mySQL查询,php,mysql,mysqli-multi-query,Php,Mysql,Mysqli Multi Query,是否可以在一个查询中从多个表中检索数据数组?例如,我从表1中获取一个数组,但我也想从其他几个表中检索数据: <?php $con = mysql_connect($hostname,$username, $password); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db($dbname, $con); $today = date(
<?php
$con = mysql_connect($hostname,$username, $password);
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db($dbname, $con);
$today = date('Y-m-d H:i:s', time());
$today1DayAgo = date('Y-m-d H:i:s', strtotime("$today -1 day"));
$query = "SELECT * FROM table1 WHERE omtr_date BETWEEN '$today1DayAgo' AND '$today'";
$result = mysql_query($query);
while($row = mysql_fetch_array($result)){
echo $row["omtr_page_view"]);
}
mysql_close($con);
?>
您可以使用连接来执行此操作:
例如
(未经测试)
也许值得一读 如果您的表有一些共同点,比如table1的1列是table2的主键,或者任何类型的关系(比如同一列),则可以使用联接
否则,您也可以使用UNION,例如
SELECT omtr_date1.a AS a1, omtr_date1.b AS b1 FROM table1 WHERE omtr_date1 BETWEEN '$today1DayAgo' AND '$today'
UNION
SELECT omtr_date2.c AS a1, omtr_date2.d AS b1 FROM table1 WHERE omtr_date2 BETWEEN '$today1DayAgo' AND '$today'
但这两个select语句必须生成相同列数和相同列名的列
这对您有好处。使用Mysql连接
以下是一个例子:
<?php
// Make a MySQL Connection
// Construct our join query
$query = "SELECT family.Position, food.Meal ";
$query .= "FROM family INNER JOIN food ";
$query .= "WHERE family.Position = food.Position";
//Execute query
$result = mysql_query($query) or die(mysql_error());
// Print out the contents of each row into a table
while($row = mysql_fetch_array($result)){
echo $row['Position']. " - ". $row['Meal'];
echo "<br />";
}
?>
此处列出了更多mysql连接示例:请注意,mysql\u xx()
函数已被弃用,不建议使用。您应该尽快切换到mysqli_xx()
函数或PDO库。另见
<?php
// Make a MySQL Connection
// Construct our join query
$query = "SELECT family.Position, food.Meal ";
$query .= "FROM family INNER JOIN food ";
$query .= "WHERE family.Position = food.Position";
//Execute query
$result = mysql_query($query) or die(mysql_error());
// Print out the contents of each row into a table
while($row = mysql_fetch_array($result)){
echo $row['Position']. " - ". $row['Meal'];
echo "<br />";
}
?>