如何使用php脚本从一个mysql数据库中的所有表中获取具有特定ID的所有行的json输出结果?
我正在尝试编写一个脚本,该脚本将从同一个mysql数据库中的所有表返回具有相同ID的所有记录,作为json数据如何使用php脚本从一个mysql数据库中的所有表中获取具有特定ID的所有行的json输出结果?,php,mysql,sql,csv,Php,Mysql,Sql,Csv,我正在尝试编写一个脚本,该脚本将从同一个mysql数据库中的所有表返回具有相同ID的所有记录,作为json数据 <?php $db_hostname = 'localhost'; $db_database = ''; $db_username = ''; $db_password = ''; $db_server = mysqli_connect($db_hostname, $db_username,$db_password); if (!$db_server) die("Unabl
<?php
$db_hostname = 'localhost';
$db_database = '';
$db_username = '';
$db_password = '';
$db_server = mysqli_connect($db_hostname, $db_username,$db_password);
if (!$db_server) die("Unable to connect to MySQL:". mysql_error());
mysqli_select_db($db_database) or die("Unable to select database:". mysql_error());
date_default_timezone_set("Europe/Dublin");
// Go to the correct directory
$directory= '/path/to/my/data/';
chdir ($directory ) ;
// Loop through the file names and remove the .csv extension
foreach (glob("*.csv") as $filename)
{
$filename = substr($filename,0,strlen($filename)-4);
echo $filename . "\n";
$counter = $counter + 1;
}
// If there are no files, exit the script
if ( $counter == 0) {exit();}
// Now for each filename with no extension run mysql query
foreach ($filename as $table_name)
{
$db_server = mysqli_connect($db_hostname, $db_username,$db_password);
mysqli_select_db($db_database) or die("Unable to select database:". mysql_error());
$myQuery = 'SELECT * FROM $table_name WHERE id="1";'
}
// get results into json
$result = mysqli_query($db_server,$myQuery);
$data = array();
foreach ($result as $row) {
$data[] = $row;
}
mysqli_close($db_server);
echo json_encode($data);
?>
<?php
$db_hostname = 'localhost';
$db_database = '';
$db_username = '';
$db_password = '';
$db_server = mysqli_connect($db_hostname, $db_username,$db_password);
if (!$db_server) die("Unable to connect to MySQL:". mysql_error());
mysqli_select_db($db_database) or die("Unable to select database:". mysql_error());
date_default_timezone_set("Europe/Dublin");
// Go to the correct directory
$directory= '/path/to/my/data/';
chdir ($directory ) ;
// Loop through the file names and remove the .csv extension
foreach (glob("*.csv") as $filename)
{
$filename = substr($filename,0,strlen($filename)-4);
echo $filename . "\n";
$counter = $counter + 1;
}
// If there are no files, exit the script
if ( $counter == 0) {exit();}
// Now for each filename with no extension run mysql query
foreach ($filename as $table_name)
{
$db_server = mysqli_connect($db_hostname, $db_username,$db_password);
mysqli_select_db($db_database) or die("Unable to select database:". mysql_error());
$myQuery = 'SELECT * FROM $table_name WHERE id="1";'
}
// get results into json
$result = mysqli_query($db_server,$myQuery);
$data = array();
foreach ($result as $row) {
$data[] = $row;
}
mysqli_close($db_server);
echo json_encode($data);
?>
这是什么语言?@Dharman,第一部分实际上是我的shell脚本的一部分,而另一部分是常规php脚本。我添加了这个来演示我在循环中获取所有没有扩展名的文件名的目的,这样我就可以运行多个查询并从MySQL获取结果。你能帮忙吗?谢谢将我的代码编辑为100%php。然而,当我在我的服务器上运行它时,它只给我一个空页面。有什么想法吗?这个代码有很多问题。请看,我建议使用PDO而不是mysqli。看起来你从互联网上复制了一些非常糟糕的例子。不要用它