0

私はこれがどのように機能するかについて混乱しています...

テーブルの列名をphpの配列に割り当てようとしています。他のクエリと同じ方法で実行しようとしていますが、機能していません。私が間違っていることを教えてください。

$q ="SHOW COLUMNS FROM disp";
$colsq = mysql_query($q);
$c = mysql_fetch_assoc($colsq);
foreach($c['Field'] as $asdf){
    echo $asdf."<br />";
}
4

2 に答える 2

5

あなたはそれを間違っています、これを試してください。

$q = "SHOW COLUMNS FROM disp";
$colsq = mysql_query($q) or die(mysql_error()); 
while ($row = mysql_fetch_assoc($colsq)) {
     echo $row['Field']."<br/>";
}

注: 新しいコードでは関数を使用しないでくださいmysql_*。それらはもはや保守されておらず、公式に非推奨です赤いボックスが見えますか? 代わりにプリペアド ステートメントについて学び、 PDOまたはMySQLiを使用してください。この記事はどちらを使用するかを決めるのに役立ちます。PDO を選択する場合は、ここに良いチュートリアルがあります。

于 2013-03-29T12:51:58.837 に答える
1

mysql の代わりに mysqli を使用します。これを試して :

$mysqli = new mysqli($db_host,$db_user,$db_password,$db_name);
if ($mysqli->connect_errno) 
{
   echo "Failed to connect to MySQL:(".$mysqli->connect_errno.")" .$mysqli->connect_error;
}

$q ="SHOW COLUMNS FROM disp";
$res=$mysqli->query($q);

while($data=$res->fetch_assoc())
{
    echo $data['Field']."<br />";
}
于 2013-03-29T12:57:22.733 に答える