这个问题已经在这里有了答案 :
如何在MySQL语句中包含PHP变量 (10个答案)
4个月前关闭。
我有一个使用以下代码的mysqli查询:
$db_usag->query("UPDATE Applicant SET phone_number ='$phone_number',
street_name='$street_name', city='$city', county='$county', zip_code='$zip_code', day_date='$day_date', month_date='$month_date',
year_date='$year_date' WHERE account_id='$account_id'");
但是,所有数据都是从HTML文档中提取的,因此为了避免错误,我想使用准备好的语句。我找到了PHP文档,bind_param()
但没有UPDATE示例。
一个UPDATE
与插入或选择相同。只需将所有变量替换为?
。
$sql = "UPDATE Applicant SET phone_number=?, street_name=?, city=?, county=?, zip_code=?, day_date=?, month_date=?, year_date=? WHERE account_id=?";
$stmt = $db_usag->prepare($sql);
// This assumes the date and account_id parameters are integers `d` and the rest are strings `s`
// So that's 5 consecutive string params and then 4 integer params
$stmt->bind_param('sssssdddd', $phone_number, $street_name, $city, $county, $zip_code, $day_date, $month_date, $year_date, $account_id);
$stmt->execute();
if ($stmt->error) {
echo "FAILURE!!! " . $stmt->error;
}
else echo "Updated {$stmt->affected_rows} rows";
$stmt->close();
我有一个遗留代码,不允许使用预先准备好的语句。它使用Spring JDBC和更新查询。要求更新100000行。我有一张地图,上面有行号和需要在特定列中更新的值。 下面是我的当前代码: 我需要将其更改为批量执行,以便在for循环之后,我可以在一次DB命中中执行它。 对于这个需求,使用spring JDBC批处理更新的最佳方式是什么?
以下代码在准备时失败: 我发现:警告:mysqli::prepare()[mysqli.prepare]:无法获取mysqli。。。我在上面的代码中做错了什么?我检查了语法文档,但是如果我尝试将查询作为sql进行pas,我会得到一个语法错误。对于mysqli语法错误是否有一个好的调试工具?
问题内容: 这个问题已经在这里有了答案 : 从PDO准备好的语句中获取原始SQL查询字符串 (16个答案) 5个月前关闭。 有没有一种方法可以检索用于生成PDO Prepared语句对象的查询? 问题答案: 尝试$ statement-> queryString 。
我有一个搜索查询,它必须使用包含搜索搜索表中的一列。列上有CTXSYS.Context类型索引。当使用prepared语句在表中获取数据时,搜索查询不能处理像-、/、_等特殊字符。
我试图将预准备语句与跨表更新结合使用。我已经准备了一个代表我们更大数据库的示例脚本。这第一部分做我想要的没有准备好的语句,但我希望避免复制/粘贴我的数据的每一列。 这就是为什么我尝试了这样的东西作为更新函数的替代品。然而,我经常收到语法错误报告。有人能指出我哪里出错了吗?这将是非常感谢!
我有一个将列名映射到值的。要更新的列事先未知,在运行时决定。 例如< code>map = {col1: "value1 ",col2: "value2"}。 我想执行一个< code>UPDATE查询,用这些列将表更新为相应的值。我能做以下事情吗?如果没有,有没有一种优雅的方法可以不用手动构建查询?