用php mysql选择一个尚未知的数据库表
问题描述:
我的问题是我不知道我需要连接到什么数据库表,直到我执行了第一个查询。 image_library和text_library表都有不同的字段。用php mysql选择一个尚未知的数据库表
我目前已经与if语句一起工作,但觉得有更好的方法来做到这一点。
我希望能够在未来添加库,所以这种方法似乎不够模块化。
$obj_results = mysql_query("SELECT library_sets.library_table FROM objects
LEFT JOIN library_sets ON library_sets.id=objects.library_set_id
WHERE objects.status_id='1' AND objects.block_id='$block_id' ORDER BY position ASC",$con_web) or die (mysql_error());
while($obj_rows=mysql_fetch_array($obj_results))
{
$object_library_table=$obj_rows["library_table"];
if($object_library_table=="image_library")
{
connect to db table with specific select statement
}
else if($object_library_table=="text_library")
{
connect to db table with specific select statement
}
}
感谢
答
你可以尝试使用MySQL的控制结构来做到这一点,在短短一个查询: http://dev.mysql.com/doc/refman/5.0/en/control-flow-functions.html
+0
那就是我要找的东西:) – Lewis 2011-02-28 18:09:27
+0
不客气:D – 2011-03-03 16:45:25
同时拥有select语句不同的参数? – 2011-02-24 15:55:16
你会使用哪种表格只有两种可能性?如果是这样的话,那么简单的if/else就是你想要的。这正是控制流程声明的设计目的。 – 2011-02-24 15:55:17
这两个select语句都有不同的参数。 – Lewis 2011-02-24 16:03:15