mysqli bind_param函数不起作用,因为语句被识别为布尔值

l2osamch  于 2021-06-18  发布在  Mysql
关注(0)|答案(0)|浏览(207)

这个问题在这里已经有答案了

mysqli_fetch_assoc()需要参数/调用成员函数bind_param()时出错。如何获得实际的mysql错误并修复它(1个答案)
mysql\u fetch\u array()/mysql\u fetch\u assoc()/mysql\u fetch\u row()/mysql\u num\u rows等…期望参数1是资源(31个答案)
两年前关门了。
我想更新mysql表中的某些字段,如果存在与今天日期匹配的行,则创建一个新行。我是这样实现的:

// define list of investor databases
$dblist = array('investor_0','investor_1','investor_5');

// loop through investor lists and update todays row
foreach ($dblist as &$db) {

// prepare statement
$prep_stmt = "SELECT id FROM $db WHERE date >= ?
LIMIT 1";
$stmt = $mysqli->prepare($prep_stmt);
$stmt->bind_param('s', $date);

// execute query
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($id);
$stmt->fetch();

// check if row for today already exists
if ($stmt->num_rows == 1) {

    // prepare insert statement
    $update_stmt = $mysqli->prepare("UPDATE $db SET last_updated = ?, SET netliq_ib = ? WHERE id = ?");

    // bind parameters
    $update_stmt->bind_param('sdi', $lastUpdated, $ibNetLiq, $id);

    // execute statement
    $update_stmt->execute();

} else {

// the else statement, where i create a new row, works as intended
...

}

这行抛出错误 $update_stmt->bind_param('sdi', $lastUpdated, $ibNetLiq, $id); -我就是找不到原因。错误是,函数 bin_param() 布尔变量不存在(这向我表明 $update_stmt 设置为false,这必须发生在前一行)。我是不是在陈述中用了一些保留词?任何帮助都将不胜感激-谢谢!

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题