gpt4 book ai didi

php - fatal error : [] operator not supported for strings

转载 作者:IT老高 更新时间:2023-10-28 12:06:09 25 4
gpt4 key购买 nike

我从数据库中获取信息,将其保存在数组中并以循环结构的形式回显它,当我尝试将修改后的信息保存到数据库时遇到问题。

我收到此错误:

Fatal error: [] operator not supported for strings in....

代码:

$namesql1 = "SELECT name,date,text,date2 FROM table WHERE something= '$something'";
$nameresult1 = mysql_query($namesql1);
$countrows = mysql_num_rows($nameresult1);
while ($row = mysql_fetch_array($nameresult1, MYSQL_ASSOC)) {
$name[] = $row['name'];
$date[] = $row['date'];
$text[] = $row['text'];
$date2[] = $row['date2 '];
}

/** SOME CODE HERE **/


$wrotesql = "UPDATE service_report SET name ='$name' , $date = '$date',$text = '$text[$nro]', ser_date = '$date2[$nro]' WHERE something = '$something')";

$wroteresult = mysql_query($wrotesql);

有人可以告诉我我做错了什么吗?

最佳答案

尝试对字符串使用短数组推送语法时,您会收到此错误。

比如这个

$foo = 'foo';
$foo[] = 'bar'; // ERROR!

我冒险猜测您的 $name$date$text$date2 中的一个或多个 变量已被初始化为字符串。

编辑:再次查看您的问题,看起来您实际上并不想将它们用作数组,因为您将它们视为更下方的字符串。

如果是这样,请将您的作业更改为

$name = $row['name'];
$date = $row['date'];
$text = $row['text'];
$date2 = $row['date2'];

PHP 7 和使用 empty-index 数组推送语法的代码似乎存在一些问题。

为了清楚起见,这些 在 PHP 7+ 中可以正常工作

$previouslyUndeclaredVariableName[] = 'value'; // creates an array and adds one entry

$emptyArray = []; // creates an array
$emptyArray[] = 'value'; // pushes in an entry

不起作用是什么尝试使用 empty-index 推送声明为字符串、数字、对象等的任何变量,即

$declaredAsString = '';
$declaredAsString[] = 'value';

$declaredAsNumber = 1;
$declaredAsNumber[] = 'value';

$declaredAsObject = new stdclass();
$declaredAsObject[] = 'value';

都会导致 fatal error 。

关于php - fatal error : [] operator not supported for strings,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5879675/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com