我有一系列网站,所有网站都必须共享相同的信息。必须在所有网站上对文本进行任何更新。我不是单独编辑每个站点并一次上传一个更新文件,而是认为使用MySQL的中央源更好 - 更新数据库,所有网站都会立即更改。
我对PHP和MySQL的了解有限 - 以下所有内容都是我迄今为止使用各种在线资源为自己整理的内容:
<?php
//DB INFO///////////////////////////////////////////////////////////////////////////////////////
$host="localhost"; // Host name
$username="####"; // Mysql username
$password="####"; // Mysql password
$db_name="####"; // Database name
// Connect to server and select database
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
// Get all the data from the "example" table
$pge_logbookabout = "SELECT * FROM pge_logbookabout";
$pge_logbookabout = mysql_query($pge_logbookabout) or die(mysql_error());
$row_pge_logbookabout = mysql_fetch_assoc($pge_logbookabout);
?>
到目前为止,我可以使用上面的方法在HTML中选择一个表和echo:
<?php echo $row_pge_logbookabout['rep_lbapr'];?>
很酷,但我只能用这个选择一个表 - 我希望能够选择所有表,只需在我需要的地方输入变量。
我是否需要为每个表重复上述代码的第三部分,或者我有更简单的方法来执行此操作?
答案 0 :(得分:2)
要显示表格中的所有记录,您需要执行以下操作:
while($row_pge_logbookabout = mysql_fetch_assoc($pge_logbookabout)){
echo $row_page_logbookabout['COLUMN'];
}
但是,如果您想要显示每个表中的所有记录,则需要单独的查询来执行此操作。
$query = mysql_query("select * from table1");
while($row_table1 = mysql_fetch_assoc($query)){
// code here
}
$query = mysql_query("select * from table2");
while($row_table2 = mysql_fetch_assoc($query)){
// code here
}
请注意,从PHP 5.5.0开始,这种连接数据库,查询和获取数据的方式将被弃用。或者,您可以使用 PDO prepared statements
答案 1 :(得分:0)
Select multiple tables using mysql
Update mutiple tables using mysql
您如何托管您的网站?他们在同一个托管?如果是这种情况,您可以使用localhost。否则,您将需要输入外部托管mysql数据库凭据。(多站点单数据库设置)。
答案 2 :(得分:0)
首先选择所有表,然后从每个表中获取数据。
如果您使用的是mysql_*
,则可以执行此操作,但我强烈建议您使用mysqli_*
或PDO
。
$result = mysql_query("show tables"); // Select all tables
while($table = mysql_fetch_array($result)) {
$queryT = mysql_query("select * from '".$table[0]."'");
while($rtable = mysql_fetch_array($queryT)){
// data of the table
}
}
答案 3 :(得分:0)
如果您想处理一系列表,可以使用以下内容:
$query_tables = mysql_query('SELECT table_name FROM INFORMATION_SCHEMA.TABLES WHERE table_name LIKE "%table%" ');
while($table = mysql_fetch_assoc($query_tables)){
$query = mysql_query("select * from ".$table['table_name'] );
// code here
}
您必须确保在第一个查询中选择正确的表名,以便处理正确的表。
然后你可以使用php循环更新特定列/字段的表。不确定这是不是你想要的......
http://dev.mysql.com/doc/refman/5.0/en/information-schema.html
的更多信息我同意上面的海报......切换到PDO_MYSQL。