这个问题在这里已经有答案了:
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,这必须发生在前一行)。我是不是在陈述中用了一些保留词?任何帮助都将不胜感激-谢谢!
暂无答案!
目前还没有任何答案,快来回答吧!