Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何访问特定行';从获取的数组中删除列值,而不循环_Php_Sql_Arrays - Fatal编程技术网

Php 如何访问特定行';从获取的数组中删除列值,而不循环

Php 如何访问特定行';从获取的数组中删除列值,而不循环,php,sql,arrays,Php,Sql,Arrays,我有一个新闻条目表(包含字段标题、内容、日期、来源和主索引)。使用$newsrow['title']我成功地获取了第一行项目的标题,但此后无法访问下一行的项目。我尝试了$newsrow[#]['title'](我的意思是$newsrow[0]['title']来访问第一行的标题),但是该标志:警告:非法字符串偏移量。我会避免在这里使用循环,因为其中有一些异常,我认为这里可能有更直接的方法 以下是我正在调用的函数(newfunction.php): 完成时,以下是表格结构: 如果您能了解如何在不

我有一个新闻条目表(包含字段标题、内容、日期、来源和主索引)。使用
$newsrow['title']
我成功地获取了第一行项目的标题,但此后无法访问下一行的项目。我尝试了
$newsrow[#]['title']
(我的意思是$newsrow[0]['title']来访问第一行的标题),但是该标志:
警告:非法字符串偏移量
。我会避免在这里使用循环,因为其中有一些异常,我认为这里可能有更直接的方法

以下是我正在调用的函数(newfunction.php):

完成时,以下是表格结构:


如果您能了解如何在不循环的情况下访问特定行的值,我们将不胜感激。

函数
fetch
从指针返回下一行(因此第一个调用返回第一行,第二个调用返回第二行,依此类推)。这就是为什么尝试使用
$newsrow[#]['title']
访问时出错的原因。您实际上正在访问结果的第0列

回答您的问题:您可以使用data_seek()移动指针。这将导致:

$result->data_seek(#);
$row = $result->fetch_array(MYSQLI_BOTH);

希望这有帮助。

函数
fetch
返回指针的下一行(因此第一个调用返回第一行,第二个调用返回第二行,依此类推)。这就是为什么尝试使用
$newsrow[#]['title']
访问时出错的原因。您实际上正在访问结果的第0列

回答您的问题:您可以使用data_seek()移动指针。这将导致:

$result->data_seek(#);
$row = $result->fetch_array(MYSQLI_BOTH);
希望这有帮助。

来自文档

(PHP5,PHP7)mysqli_result::fetch_数组——mysqli_fetch_数组- 获取结果行作为关联数组、数字数组或两者兼有

这只返回一行,而不是我怀疑您要查找的所有行

如果希望返回一个数组中的所有行,可以查看一下。给出的答案是(您不需要json_编码)

从文件中

(PHP5,PHP7)mysqli_result::fetch_数组——mysqli_fetch_数组- 获取结果行作为关联数组、数字数组或两者兼有

这只返回一行,而不是我怀疑您要查找的所有行

如果希望返回一个数组中的所有行,可以查看一下。给出的答案是(您不需要json_编码)


帮我个忙,做
var\u dump($row)请。它只抛出第一行的详细信息:
array(16){[0]=>string(1)“1”[“newstrack”]=>string(1)“1”[1]=>string(44).
帮个忙,做
var\u dump($row);
请。它只抛出第一行的详细信息:
array(16){[0]=>string(1)“1”[“newstrack”]=>string(1)“1”[1]=>string(44)…
不知道
fetch\u数组
只返回了一行,感谢链接,我现在使用的是
$row=mysqli\u fetch\u all($result,mysqli\u ASSOC)
并且它可以按照我的意图获取特定行的特定列的值。谢谢。不知道
获取数组
只返回了一行,谢谢链接,我现在使用
$row=mysqli\u获取所有($result,mysqli\u ASSOC)
并且它可以按照我的预期获取特定行的特定列的值。谢谢。不知道它只返回了一行,谢谢链接,我现在使用的是
$row=mysqli\u fetch\u all($result,mysqli\u ASSOC)
并且它可以按照我的预期获取特定行的特定列的值。谢谢。不知道它只返回了一行,谢谢链接,我现在使用的是
$row=mysqli\u fetch\u all($result,mysqli\u ASSOC)
并且它可以提取特定行的特定列的值,正如我所希望的。谢谢。
$newsrow = news_data($conn);
$result->data_seek(#);
$row = $result->fetch_array(MYSQLI_BOTH);
$json = mysqli_fetch_all ($result, MYSQLI_ASSOC);
echo json_encode($json );