我正在尝试使用php显示给定MySQL数据库中的所有表。 我对这一切都很新,但找不到解决方案。继续给出错误'找不到文件或目录'。
任何能指出我的错误的人都可以吗? 非常感谢!
<% @prayers.each do |p| %>
<%= p.date %> <%= p.time %>
<%= simple_form_for @prayers do |f| %>
<%= f.input :name %>
<% end %>
<% end %>
答案 0 :(得分:2)
您正在使用mysqli连接到数据库,但使用折旧的mysql来查询数据库。
$conn = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD);
$result = mysql_query($sql);
while ($row = mysql_fetch_row($result)){}
mysql_free_result($result);
您应该使用mysqli_query()
和mysqli_fetch_array()
代替。
它有点复杂但是mysql被减少并删除为PHP 7所以没有选择继续前进。检查PDO屁股。我个人去mysqli,但大多数人说pdo更直观。
看起来应该更像是:
$result = mysqli_query($conn,$sql);
if(!$result){
die('MySQL error: ' . mysqli_error($conn));
}
while ($row = mysqli_fetch_row($result)) {
echo "- {$row[0]}\n </br>";
}
答案 1 :(得分:2)
使用以下查询,
$sql = "SELECT table_name
FROM information_schema.tables
WHERE table_schema = 'paperlessdb'";
我们从information_schema db获取数据,该数据存储有关我们数据库的元数据。
答案 2 :(得分:2)
首先下定决心,使用mysqli程序或面向对象。不是两者兼而有之,因为它令人困惑。为避免这一切,请改为使用pdo。
现在正确连接到数据库,您可以在自动连接数据库时选择数据库:
const DB_DATABASE = 'paperlessdb';
$conn = new mysqli(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_DATABASE);
// Check connection
if ($conn->connect_error) {
die("Connection with the database failed: </br>" . $conn->connect_error);
}
if($result = $conn->query('SHOW TABLES')){
while($row = $conn->fetch_array($result)){
$tables[] = $row[0];
}
}
print_r($tables);