当前位置: 首页 > 知识库问答 >
问题:

如何用mysqli更新BBDD?变量应该通过引用传递?

湛功
2023-03-14

严格的标准:在/var/www/parser/parser.php第130行中,只有变量应该通过引用传递

警告:mysqli_stmt::bind_param():第130行/var/www/parser/parser.php中准备好的语句中的变量数与参数数不匹配

严格的标准:在/var/www/parser/parser.php第131行中,只有变量应该通过引用传递

严格的标准:在/var/www/parser/parser.php第132行中,只有变量应该通过引用传递

警告:mysqli_stmt::bind_param():变量数与/var/www/parser/parser.php第132行中准备好的语句中的参数数不匹配

等等...

<?php
$gbd =  mysqli_connect('my.host.com', 'my_user','my_pass','my_bbdd');
if (!$gbd) {
    die('Cannot connect: ' . mysqli_error());
}
echo 'Connection successful';

?> 

下面是mysqli_close_connection.php:

<?php
mysqli_close($gbd); 
?>

以及连接和更新BBDD的函数:

function execQuery($values, $bar, $sevendates){

include ("mysqli_connect.php");


for ($contdays=0;$contdays < 7;$contdays++){


$sentence = $gbd->prepare("UPDATE prices$contdays SET DateFormatted=?, `00`=?, `01`=?,     `02`=?, `03`=?, `04`=?, `05`=?, `06`=?, `07`=?, `08`=?, `09`=?, `10`=?,
`11`=?, `12`=?, `13`=?, `14`=?, `15`=?, `16`=?, `17`=?, `18`=?, `19`=?, `20`=?, `21`=?,     `22`=?, `23`=?, Max=?, Med=?, Min=?, Date = now()");


// set the preparedstatement parameters
/* Updating 7 day graphic data */

$sentence->bind_param(1, $sevendates[$contdays]);
$sentence->bind_param(2, str_replace(',', '.',$bar[$contdays][0]));
$sentence->bind_param(3, str_replace(',', '.',$bar[$contdays][1]));
$sentence->bind_param(4, str_replace(',', '.',$bar[$contdays][2]));
$sentence->bind_param(5, str_replace(',', '.',$bar[$contdays][3]));
$sentence->bind_param(6, str_replace(',', '.',$bar[$contdays][4]));
$sentence->bind_param(7, str_replace(',', '.',$bar[$contdays][5]));
$sentence->bind_param(8, str_replace(',', '.',$bar[$contdays][6]));
$sentence->bind_param(9, str_replace(',', '.',$bar[$contdays][7]));
$sentence->bind_param(10, str_replace(',', '.',$bar[$contdays][8]));
$sentence->bind_param(11, str_replace(',', '.',$bar[$contdays][9]));
$sentence->bind_param(12, str_replace(',', '.',$bar[$contdays][10]));
$sentence->bind_param(13, str_replace(',', '.',$bar[$contdays][11]));
$sentence->bind_param(14, str_replace(',', '.',$bar[$contdays][12]));
$sentence->bind_param(15, str_replace(',', '.',$bar[$contdays][13]));
$sentence->bind_param(16, str_replace(',', '.',$bar[$contdays][14]));
$sentence->bind_param(17, str_replace(',', '.',$bar[$contdays][15]));
$sentence->bind_param(18, str_replace(',', '.',$bar[$contdays][16]));
$sentence->bind_param(19, str_replace(',', '.',$bar[$contdays][17]));
$sentence->bind_param(20, str_replace(',', '.',$bar[$contdays][18]));
$sentence->bind_param(21, str_replace(',', '.',$bar[$contdays][19]));
$sentence->bind_param(22, str_replace(',', '.',$bar[$contdays][20]));
$sentence->bind_param(23, str_replace(',', '.',$bar[$contdays][21]));
$sentence->bind_param(24, str_replace(',', '.',$bar[$contdays][22]));
$sentence->bind_param(25, str_replace(',', '.',$bar[$contdays][23]));

/* Updating 7 day Max, Med and Min values */

$sentence->bind_param(26, str_replace(',', '.',$values[$contdays][0]));
$sentence->bind_param(27, str_replace(',', '.',$values[$contdays][1]));
$sentence->bind_param(28, str_replace(',', '.',$values[$contdays][2]));


$sentence->execute();


}

getDateHour();
include("mysqli_close_connection.php");
}

共有1个答案

相洛华
2023-03-14

尝试使用PHP为MySQL构建数据库抽象层,您也可以在以下位置查看代码:

https://github.com/nbari/dalmp/blob/master/src/dalmp/database.php#l372

以便更好地了解如何处理准备好的语句。

 类似资料:
  • 问题内容: 有任何想法吗?2天后仍然卡住。 问题答案: 将的结果分配给变量,然后将该变量传递给: 问题是,这需要引用,因为它修改了数组的内部表示(即,它使 当前元素指针 指向最后一个元素)。 的结果不能转换为参考。这是PHP语言的一种限制,出于简化的原因可能存在。

  • 问题内容: Python文档似乎尚不清楚参数是通过引用还是通过值传递,并且以下代码会产生未更改的值“原始” 我可以做些什么来通过实际引用传递变量吗? 问题答案: 传入的参数实际上是对对象的引用(但引用是通过值传递的) 有些数据类型是可变的,但有些则不是 所以: 如果将可变对象传递给方法,则该方法将获得对该对象的引用,并且可以对其进行突变,但是如果您将该引用重新绑定到该方法中,则外部作用域对此一无所

  • 问题内容: 我的代码: 为什么不引用元素? Python:除非明确复制,否则所有内容都将作为参考传递[这不是True吗?] 请说明.. python如何确定 引用和复制 ? 更新: 怎么做 ? locs必须包含最终处理后的响应! 我不想使用,没有它可能吗? 问题答案: Python中的所有内容都是通过值传递和分配的,与Java中的所有值都传递和分配的方式相同。Python中的每个值都是对对象的引用

  • 问题内容: 如何在JavaScript中通过引用传递变量?我要对3个变量执行一些操作,因此我想将它们放在for循环中并对每个变量执行操作。 伪代码: 做这个的最好方式是什么? 问题答案: JavaScript中没有可用的“通过引用传递”。您可以传递一个对象(也就是说,您可以按值传递对一个对象的引用),然后让一个函数修改该对象的内容: 您可以使用数字索引遍历数组的属性,并根据需要修改数组的每个单元格

  • 本文向大家介绍如何通过AJAX调用传递JavaScript变量?,包括了如何通过AJAX调用传递JavaScript变量?的使用技巧和注意事项,需要的朋友参考一下 要通过AJAX调用传递JavaScript变量,请替换以下内容- 与- 示例 尝试以下代码以通过AJAX调用正确传递变量-

  • 假设我有一个函数,它接受<code>std::function</code>: 我应该通过常量引用传递<code>x</code>吗 这个问题的答案是否会根据函数的作用而变化?例如,如果它是一个类成员函数或构造函数,它将 存储或初始化为成员变量。