ホームページ >バックエンド開発 >PHPチュートリアル >PHP の HTML に埋め込まれた構文規則のエラー報告に関連するいくつかの問題

PHP の HTML に埋め込まれた構文規則のエラー報告に関連するいくつかの問題

WBOY
WBOYオリジナル
2016-06-13 13:22:301172ブラウズ

PHP が HTML に埋め込まれているときに構文規則エラーに関するいくつかの問題が報告される
HTML を注意深くフォーマットし、ゆっくりと空白を埋めた後、ネストされたループ クエリについて尋ねた前の 2 つの投稿を最終的に解決しました。

しかし、文法が間違っているので、新たな問題が発生しました。

PHP コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
<?php
include_once('conn.php');

$result = mysql_query("SELECT p_class FROM Product group by p_class limit 40");

 mysql_data_seek($result, 0);

    while ($row=mysql_fetch_row($result))
    {
      for ($i=0; $i<mysql_num_fields($result); $i++ )
      {
?>
<table border="1">
  <tr>
    <td><?php echo "$row[$i]";?></td>
    <td>more</td>
  </tr>
  <tr>
    <td colspan="2">********</td>
  </tr>
</table>    
<table border="1">
  <tr>
<?php
$result2 = mysql_query("SELECT * FROM Product where p_class=$row[$i] limit 0,4");
   while ($row=mysql_fetch_row($result2))
    {    
?>  
    <td>
        <table border="1">
            <tr><td>
                   <img src=<?php echo $row['pic'];?> />//这里报错,说写法不对
            </td></tr>
            <tr><td>
                   <?php echo $row['p_class'];?>//这里报错,说写法不对
            </td></tr>
            <tr><td>
                   <?php echo $row['p_name'];?>//这里报错,说写法不对
            </td></tr>
        </table>
          <br />
    </td> 
<?php
    }
?>
  </tr>
</table>
<?php
      } 
    }   
mysql_free_result($result);
mysql_free_result($result2);
mysql_close($conn);
?>



ありがとう!



-----解決策---------------------------- ----
古い 質問の前に isset を追加 判決

議論

引用:

通知: 未定義Index: pic
これはリマインダーです。配列の 1 つのキー pic が定義されていません。つまり、$row['pic'] がありません。
もっと簡単に言うと、データベースの Product テーブルには pic 列がありません。


いいえ、確認したところ、確かに product テーブルにこれら 3 つの列があります。

書き方間違ってませんか?

注意: 未定義のインデックス: ……

------解決策---------
mysql_fetch_row() 関数によって返される番号を忘れてしまいました配列!
代わりに mysql_fetch_assoc() を使用すると、キー名と列名を含む配列である連想配列が返されます。
------解決策---------
マニュアルを確認する習慣を身につける
1つreturn Array 1 は連想配列を返すことです...
今後あなたの質問のコードを詳しく調べてみようと思いますははは

話し合ってください

引用:

mysql_fetch_row() 関数によって返される数値の配列を忘れていました。
代わりに mysql_fetch_assoc() を使用すると、キー名と列名の配列である連想配列が返されます。


すばらしい!ありがとうございます

ネストされた mysql_fetch_row を mysql_fetch_assoc に変更して完了です。これら 2 つの関数の違いは何ですか?
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。