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

简单的select查询会产生错误

景同
2023-03-14

有人知道为什么这么简单的查询会出现两个错误吗?错误消息是:

警告:mysqli::准备():无法获取mysqli在(...)/functions.php行503

致命错误:在第504行的(…)functions.php中调用null上的成员函数bind_param()

$query_select = ("SELECT * FROM vat WHERE vat_status = ?");
$stmt = $mysqli->prepare($query_select); // line 503
$stmt->bind_param("s", $vat_status); 
$stmt->execute();
$stmt->store_result();
$count = $stmt->num_rows();

$stmt->bind_result ($vat_id          ,
                    $vat_rate        ,
                    $vat_account     ,
                    $vat_description ,
                    $vat_status      ,
                    $vat_timestamp   ); 

共有1个答案

养慈
2023-03-14

问题是我触发了一个UPDATE语句,然后触发了一个SELECT语句,这两个语句都使用了$stmt变量。这就是问题所在。

现在我用

mysqli_stmt_close($stmt); 

这实际上关闭了$stmt并释放了结果,因此我可以在更新后触发select语句。

 类似资料:
  • 因此,我尝试在单个查询中,仅在行不存在的情况下插入行。 我的疑问如下: 有时(非常罕见,但仍然如此),它会生成以下错误: 违反主键约束“主键用户角色”。无法在对象“dbo”中插入重复键。用户的角色。重复的键值为(29851,1)。 是。下面是表的架构的完整SQL: 背景: 这是由托管在Apache服务器上的PHP脚本执行的,在数百次事件中,“随机”发生一次(很可能与并发相关)。 更多信息: 提供:

  • 问题内容: 谁能指出如何检查选择查询是否返回非空结果集? 例如,我有下一个查询: 我应该像下一个那样做吗: 测试结果集是否不为空? 问题答案: 使用@@ ROWCOUNT: 根据SQL Server联机丛书: 返回受最后一条语句影响的行数。如果行数超过20亿,请使用ROWCOUNT_BIG。

  • 首先,我的目标不是让您理解我的UDF代码,这样我就可以实现我的目标(我知道它实现了),而是了解为什么在以后的查询中调用它生成的字符串后会出现错误。 我做了一个自定义UDF,代码是: 它的目标是计算组件的状态(它开始工作、停止工作的位置),并在开始和停止之间的所有行中放置一个标识符。1/0意味着工作/不工作组件。 例如,这个问题: 将返回(在此表中): 直到这里都是正确的。现在,我只是补充一句 按u

  • Sangria.parser.SyntaxError:解析GraphQL查询时出现语法错误。输入结尾意外,应为union、Comments、INTERNECT、SPALEAR、enum、type、inputType或directive(第1行第79列):“Query FetchPokemons{\n pokemonsWithHeight(Height:100){\n NAME\n}\n}” 但是在

  • select 数据库查询select($table, $columns, $where) table [string] 表名. columns [string/array] 要查询的字段名. where (optional) [array] 查询的条件.select($table, $join, $columns, $where) table [string] 表名. join [array] 多

  • select 数据库查询select($table, $columns, $where) table [string] 表名. columns [string/array] 要查询的字段名. where (optional) [array] 查询的条件.select($table, $join, $columns, $where) table [string] 表名. join [array] 多