2016-10-04 20 views
0

MySQL 5.7から選択する次のPHP 5.4スクリプトがあり、正常に動作します。PHP列ヘッダー名のmysqlから選択してください

<?php 
$link = new mysqli("localhost","my_username","my_password", "my_schema"); 
    if (mysqli_connect_errno()) 
    { 
    printf("Connect failed: %s\n", mysqli_connect_error()); 
    exit(); 
} 
$sugg_query = 
"SELECT 
    s.prim_key, 
    s.created_date, 
    s.created_by, 
    s.suggestion 
FROM suggestion s;"; 
if ($sugg_result = mysqli_query($link, $sugg_query)) 
{ 
// determine number of rows result set */ 
    $sugg_row_cnt = mysqli_num_rows($sugg_result); 
    printf("Result set has %d rows.\n", $sugg_row_cnt); 

    while($sugg_row = mysqli_fetch_array($sugg_result)) 
    { 
    echo "<br />"; 
    echo 
    $sugg_row['prim_key'] . " " . 
    $sugg_row['created_date'] . " " . 
    $sugg_row['created_by'] . " " . 
    $sugg_row['suggestion'] . " " ; 
    } 
    /* close result set */ 
    mysqli_free_result($sugg_result); 
} 
//Close the connection 
mysqli_close($link); 
//close PHP 
?> 

結果に列見出しを追加したいと思います。 SELECT文を次のように変更すると、行カウント行だけが生成されます。

$sugg_query = 
"SELECT 
    s.prim_key as 'Key', 
    s.created_date as 'Date', 
    s.created_by as 'Source', 
    s.suggestion as 'Suggestion' 
FROM suggestion s;"; 

PHPのSELECTからデータ値とカラムヘッダーを取得するにはどうすればよいですか?そのため、おそらくこのような何かがあなたのコードで動作するはずです

foreach($sugg_row as $header => $value){ 
    echo $header; 
} 

:あなたのような行を反復処理できるヘッダを取得するための

+0

あなたは具体的に何を達成したいですか? – khalid

+0

これはかなり簡単です。 '$ sugg_row ['X']'の列名をあなたが選んだエイリアスに変更してください。 –

+0

ありがとうございました。私がその変更を行うと、データ行が取得されますが、まだ列ヘッダーは取得されません。私は "AS"句のテキストをヘッダーとして表示したいと思います。それ、どうやったら出来るの? – user3138025

答えて

1

$rows = mysqli_fetch_array($sugg_result) 
foreach($rows[0] as $header => $value){ 
    echo $header; 
} 

あなたが(をmysqli_fetch_array数を保つためにも必要)行がない場合NULLを返します

+0

ありがとうございました。その文を実装すると、 "Invalid argument for foreach()in"が得られます。 FOREACH声明を書くためのコードはどこで変更するのですか? – user3138025

+0

@ user3138025私は答えを更新しました – Cesar

+0

こんにちはシーザー。最初の "$ rows ="ステートメントの後にセミコロンを置かなければならないようです。しかし、私はまだ "Invalid argument for foreach()in ..."エラーを受け取ります。 – user3138025

関連する問題