MySqlに複数のテーブルを持つデータベースを持っていて、基本的にエントリの検索を行い、そのエントリを含むすべてのテーブルを返す方法を見つけようとしています。私はテーブル全体だけでなく、TABLE_NAMEだけを必要としません。mySqlのエントリ名からテーブルの親の名前を返します
$query = mysql_query("SELECT TABLE_NAME, TABLE_COMMENT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='maps'") or die(mysql_error());
をし、私は私が説明した内容のテーブルを表示する別のページを作りたい:
は現在、私はindex.phpの中でこれを持っています。 あなたは私が何を意味するか理解しているといいですね。
EDIT。 Okey、だから私はこのコードを考え出す。 私は何かしたいのですが、テーブル名ではなくテーブルの各行を検索したいのです。
SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='maps' AND TABLE_NAME LIKE "%Search term%"
EDIT2。
私の.phpファイルには次のものがあります。テストのための 'a'。
$qu = "set @@group_concat_max_len = 1000000;
set @schema := 'maps';
set @search := '%a%';
set @sql = (
select group_concat(concat(
'select distinct \'', c.TABLE_NAME, '\' as table_name, ',
'\'', c.COLUMN_NAME, '\' as column_name ',
'from `', @schema, '`.`', c.TABLE_NAME,
'` where `', c.COLUMN_NAME, '` like \'', @search , '\''
) separator ' union all ')
from information_schema.`COLUMNS` c
where c.TABLE_SCHEMA = @schema
);
prepare stmt from @sql;
execute stmt;"
$query = mysql_query($qu) or die(mysql_error());
と
<?php
while($row = mysql_fetch_array($query))
{
$f1 = $row['TABLE_NAME'];
$f2 = $row['TABLE_NAME'];
?>
<tr>
<td><a href="#"><?php echo $f1 ?></a></td>
<td><?php echo $f2 ?></td>
</tr>
あなたはそれはたくさん意味するだろう助けることができれば、あなたはすでにそれを解決してきましたが、私は申し訳ありませんが、あわやそれを実装する方法がわからないので、イムこれにとても新しいです。
ありがとうございます!私はこれを得る。助言がありますか? 分析中に1つのエラーが見つかりました。 認識されないステートメントタイプ。 (近い位置に "準備" 0) SQL-フラガ: は@sql MySQLのSAからのstmtを準備:Dokumentation #1146 - テーブル 'maps.ak' FelixEklö[email protected] –
存在しない - の提案を?私の解決策に何か問題がありますか? –
私はPhysyadminでMysqlで実行しましたが、私にエラーが出ました。それは言う:静的分析: 1つのエラーが分析中に見つかりました。 認識されないステートメントタイプ。 SQL-フラガ(位置0に "準備" に近い): - テーブル「マップDokumentation #1146: は @sql MySQLのSAからのstmtを準備します。ak 'が存在しません –