【问题标题】:How to echo ith row and nth column from a mysql database?如何从mysql数据库中回显第i行和第n列?
【发布时间】:2012-06-08 06:01:17
【问题描述】:

我需要从 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 包含什么?只是第一行?

  • 问题 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]);

【问题讨论】:

标签: php javascript mysql ajax json


【解决方案1】:

您的答案是echo mysql_result($result, 3, 3)。您也可以使用echo mysql_result($result, 3, 'rowname')。请注意,由于它是零索引的,因此第四行是#3,因为第一行是#0。

$result包含一个MySQL查询结果Object,你需要使用内置函数来访问它。

$row 确实只包含第一行的数组。内部指针增加了,所以如果你运行$row 行代码两次,$row 现在将有第二行。一旦你用完了行,那行代码将评估为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() 几乎总是必需的。

【讨论】:

  • 这有帮助,但假设我从 php 获得了 2 个 url 的列表。我怎样才能在屏幕上提醒他们? ` $query = '从图片限制 5 中选择 pic_id'; $result = mysql_query($query); while ($rec = mysql_fetch_array($result, MYSQL_NUM)) { $url.=$rec[0]; } 回声 $url;`
  • 以上第5题
  • echo 会输出字符串,print_r($var) 会输出$var,不管它是什么类型的变量。
猜你喜欢
  • 2022-12-09
  • 1970-01-01
  • 2011-03-30
  • 1970-01-01
  • 1970-01-01
  • 2012-11-08
  • 1970-01-01
  • 2022-11-15
  • 1970-01-01
相关资源
最近更新 更多