如何使用 mysqli->prepare 执行更新?

Posted

技术标签:

【中文标题】如何使用 mysqli->prepare 执行更新?【英文标题】:How to perform UPDATE with mysqli->prepare? 【发布时间】:2011-07-18 17:44:06 【问题描述】:

据我所知,有一种方法可以使用 mysqli 将数据输入 mysql 数据库,而不必使用 mysql_real_escape_string。我的意思是这样的:

$stmt = $mysqli->prepare("INSERT INTO CountryLanguage VALUES (?, ?, ?, ?)");  
$stmt->bind_param('sssd', "something", "something2", "something3", "123");

现在我的问题是:你能用 UPDATE 而不是 INSERT 做同样的事情吗?表情会是什么样子?会不会像下面这样:

$stmt = $mysqli->prepare("UPDATE CountryLanguage SET some = ?, some2 = ?, some3 = ?, some4 = ?"); 
$stmt->bind_param('sssd', "something", "something2", "something3", "123");`

感谢您的帮助。

【问题讨论】:

sssd 指的是什么?谢谢 @jajouka check php.net/manual/en/mysqli-stmt.bind-param.php 解释它(字符串,字符串,字符串,双) 【参考方案1】:

看起来一样,但不要忘记WHERE。你的例子是正确的。

【讨论】:

谢谢!是的,我没有在我的示例中放置 WHERE。

以上是关于如何使用 mysqli->prepare 执行更新?的主要内容,如果未能解决你的问题,请参考以下文章

如何在使用 mysqli prepare 时获取 assoc 数组

PHP MySQLi Prepared Statements Tutorial to Prevent SQL Injection

调用“mysqli_stmt_prepare”时是不是应该手动检查错误? [复制]

如何使用mysqli准备好的语句?

如何使用 mysqli 使用 LIKE 进行查询并获得所有结果?

mysqli 最后插入 id