2

mysql データベースから 4 行 3 列目をエコーする必要があります

    $query = 'SELECT * FROM picture LIMIT 10';
    $result = mysql_query($query);
    $row = mysql_fetch_array($result,MYSQL_NUM );

  • 質問 1 > $result には何が含まれていますか? MYSQL で見られるテーブル フォーム ?

  • 質問 2 > $row には何が含まれていますか? 1行目だけ?

  • 質問 3 > どうすれば 4 行目に移動できますか? echo $row[4] は機能しません!! ?

  • 質問 4 > 4 行 3 列目に移動するにはどうすればよいですか?

    echo $row[4][3]動作しません!! ?

  • 質問 5 - クライアント側に 2 行を送信する必要がある場合 (ajax が php から要求したとします)

phpでしょうか

 $query = 'SELECT * FROM picture LIMIT 5';
$result = mysql_query($query);
$rec = mysql_fetch_array($result,MYSQL_NUM );

print_r (json_encode($result[0]));

そしてhtml側

$.ajax({
      url: "viewnew.php",
      data: {
         current_image: imId,
         direction    : dir
      },
      success: function(ret){
          console.log(ret);
          var arr = eval(ret);
          alert("first: " + arr[0] + ", second: " + arr[1]);
4

1 に答える 1

3

あなたの答えはecho mysql_result($result, 3, 3)です。を使用することもできますecho mysql_result($result, 3, 'rowname')。ゼロインデックスであるため、最初の行が#0であるため、4番目の行は#3であることに注意してください。

$resultMySQLクエリ結果オブジェクトが含まれている場合、それにアクセスするには組み込み関数を使用する必要があります。

$row実際、最初の行の配列のみが含まれています。内部ポインタが増加するため、$rowコード行を2回実行する$rowと、2行目になります。行がなくなると、そのコード行は次のように評価されますfalse(以下で役立ちます)。

php.netは次のコードを提供しています。

while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
    printf("ID: %s  Name: %s", $row[0], $row[1]);  
}

whileステートメントは行がなくなるとfalseと評価されるため、すべての行を取得します。クエリを作成しているので、各行の関連データを処理する方法を知っている必要があります。

AJAXに関しては、サーバー側で、(上記のように)配列変数に行を割り当ててから、必要なものを出力する必要があります。それらをどのように出力するかを知っているので、クライアント側でそれらをどのように処理するかはあなた次第です。

htmlspecialchars()またはhtmlentities()、データを安全に出力できるようにします。

サンプルメソッドは次のようになります。

$query = mysql_query(...);
$rows = array();
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
    $rows[] = $row; //append row to rows array
}
//Then output the relevant rows

php.netには、PHPでMySQL関数を使用する方法に関する広範なドキュメントがあります。

また、セキュリティもお忘れなく!mysql_real_escape_string()ユーザー入力を使用してクエリを実行する場合、ほとんどの場合必要です。

于 2012-06-08T06:03:35.513 に答える