根据this 页码:
Return#返回
(int | bool)布尔true,用于创建、更改、截断和删除查询。为所有其他查询影响/选择的行数。错误时布尔值为false。
由此,我可以看出我应该得到一个;“受影响的行数”;然而,返回的值是false。
通常,这表示一个错误,可以看到bool false on return=error。但这就是它变得有点奇怪的地方,数据被更新了,而查询显然是失败的?
这是我的当前代码:
if (!$this->conn->query($this->conn->prepare($this->qry, $values))) {
var_dump($this->conn->print_error());
}
其中打印:
<div id="error"><p class="wpdberror"><strong>WordPress database error:</strong> []<br /><code>UPDATE `wp_eng_dm_dealers` SET name = 'foo', blurb = 'trey', email = '[email protected]', tel = '123456', www = 'https://google.com/', addr_line_1 = 'some place', addr_line_2 = '', addr_line_3 = '', town = 'A town', county = 'county', post_code = 'SOME PLACE', lat = XYZ, lng = XYZ, dealer_type_id = 1, dealer_of_the_month = 1 WHERE id = 4</code></p></div>NULL
使用
last_error
财产,我得到:
字符串(0)“”"E;
解码包装在<code>
标记时,我得到一个有效的SQL语句,但我的条件从来都不起作用,因为WP将成功的更新返回为false。如何调试和解决问题?
WordPress版本:5.3.2