2016-11-15 9 views
1
$sql = "SELECT table_name FROM information_schema.tables WHERE table_type = 'base table' AND table_schema='PPcontent';"; 
$query = mysqli_query($con, $sql); 

while($result = mysqli_fetch_array($query)){ 
    echo "<option value=\"", $result[0], "\">", $result[0], "</option>";} 

私はmysqliオブジェクトの扱い方とその動作を取得しようとしています。上記のクエリを使用して、データベースのテーブル名を検索し、それらをドロップダウンリストに挿入します。同様のコードを使用して別の選択ドロップダウンに値を設定すると、whileループが実行されたときに結果を取得するために$result['some_row_name']を使用しました。次に私の選択ステートメントはSELECT 'some_row_name from 'some_table'でした。上記のselectステートメントでこれを行うと、 "Table_name"の代わりにインデックス0を使用する必要があります。何故ですか?上記のselect文をPHP MyAdminで実行すると、テーブル名が 'Table_name'に戻ってしまうので、0の代わりにインデックスとして使うと思います。PHPを使用したSQL SELECTテーブル

+0

ノートを使用することができ、完全に別の名前を持つ列を望んでいた場合と、あなたが期待していたように 'Table_name'ではありません。 – e4c5

+0

ありがとう、私はそれを見て、大文字をチェックします。それは、新しいテーブルを投影し、 "Select table_name from information_schema ...。"というクエリで行名を作成しているからです。本質的には、テーブル名を "foo"または "bar"にできますか? –

+0

それは私がそれをやったか、私がそれを変更したのか覚えていない。私はそれが私が望んだことをすることを得たことを知っています。助けてくれてありがとう! –

答えて

0

mysqlは大文字と小文字を区別しないので、列がMYCOLUMNと呼ばれている場合は、PHPのmysqli_fetch_arrayを使用する場合しかし、あなたはあなたがに使用される正確な大文字と小文字を使用して列データにアクセスする必要がありますmysqlのコンソールやPHP

SELECT mycolumn FROM mytable; 
SELECT MYCOLUMN from mytable; 
SELECT myColumn from mytable; 

で次のように効果的に照会することができここで質問してください。これは、PHPが変数名に関して大文字小文字を区別するためです。大文字と小文字を区別しない言語では問題になりません。

あなたは何を取得しますが、 `table_name`で結果配列におけるので、あなたの投影であなたは` table_name`を持っていることを別名

SELECT mycolumn AS some_other_name FROM mytable; 
関連する問題