我正在尝试更新我的query中的多行,但它不起作用。但是如果我只更新一个row,它就能工作了
这是我的工作代码:
if(!empty($_POST['include'])) {
foreach($_POST['include'] as $check) {
echo "<input type=\"text\" name=\"master[]\" size=\"50\" value=\"$check\"> <br/>";
$vessel = 'SAMMY';
$query = "UPDATE `info` SET `vessel` = ? WHERE `id` = ?";
$stmt = mysqli_prepare($conn, $query);
mysqli_stmt_bind_param($stmt, 'si', $vessel, $check);
mysqli_stmt_execute($stmt);
}
}以下是我不工作的代码:
if(!empty($_POST['include'])) {
foreach($_POST['include'] as $check) {
echo "<input type=\"text\" name=\"master[]\" size=\"50\" value=\"$check\"> <br/>";
$crew_status = 'LINEUP PENDING';
$vessel = 'SAMMY';
$query = "UPDATE `info` SET `vessel` = ? AND `crew_status` = ? WHERE `id` = ?";
$stmt = mysqli_prepare($conn, $query);
mysqli_stmt_bind_param($stmt, 'ssi', $vessel, $crew_status, $check);
mysqli_stmt_execute($stmt);
}
}发布于 2016-09-01 06:33:16
不要在SQL查询中使用AND,而是使用,:
UPDATE `info` SET `vessel` = ?, `crew_status` = ? WHERE `id` = ?"使用Update查询在MySQL中设置多个值时,必须根据MySQL有关更新语法的文档使用逗号分隔这些值
UPDATE [LOW_PRIORITY] [IGNORE] table_reference
SET col_name1={expr1|DEFAULT} [, col_name2={expr2|DEFAULT}] ...
[WHERE where_condition]
[ORDER BY ...]
[LIMIT row_count]https://stackoverflow.com/questions/39264164
复制相似问题