gpt4 book ai didi

php - 复选框中的任意值会导致在 PDO 上执行 SQL 语句变得困难

转载 作者:行者123 更新时间:2023-11-29 08:14:16 25 4
gpt4 key购买 nike

先生们!我有一个 php 脚本,可以使用 PDO 处理多行更新。我想添加一个复选框,如果勾选,该复选框会在 30 天后按时间戳更新我的数据库特定列。

问题是ofc,当它没有被勾选时,不会有任何值发送到它的键,所以我最终会得到:它返回这个错误

Uncaught exception 'PDOException' with message SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use...

因此,如果有问题,我寻求帮助,这是我的 PHP 代码:

if (isset($_POST['submit'])) {
$stmt = $db->prepare("UPDATE `$tbl_name` SET `ssl`=:ssl, `exp`=:exp, `country`=:country, WHERE id=:id");
$stmt->bindParam(':id', $id, PDO::PARAM_INT);
$stmt->bindParam(':ssl', $ssl, PDO::PARAM_STR);
$stmt->bindParam(':exp', $exp, PDO::PARAM_STR);
$stmt->bindParam(':country', $country, PDO::PARAM_STR);
foreach ($_POST['ssl'] as $id => $ssl) {
if(isset($_POST['thirtydays'][$id])){
$exp = $_POST['thirtydays'][$id];
}
$country = $_POST['country'][$id];
$stmt->execute();
}

echo '<h1>Updated the records.</h1>';
}

exp 是时间戳列。以下是 HTML 格式的复选框:

<input type="checkbox" name="thirtydays[80]" value="2014-02-04 04:04:53"> 
<input type="text" name="country[80]" value="DE" />
<input type="text" name="ssl[80]" value="false"/>

注意结构:thirtydays[$id],值中的时间戳由date( "Y-m-d H:i:s",strtotime("+30 days")) 生成

希望有人能帮助我。预先感谢并提供更多力量。

最佳答案

$exp=''; $country=''; $ssl='';

if (isset($_POST['submit'])) {
$stmt = $db->prepare("UPDATE `$tbl_name` SET `ssl`=:ssl, `exp`=:exp, `country`=:country WHERE id=:id");
$stmt->bindParam(':id', $id, PDO::PARAM_INT);
$stmt->bindParam(':ssl', $ssl, PDO::PARAM_STR);
$stmt->bindParam(':exp', $exp, PDO::PARAM_STR);
$stmt->bindParam(':country', $country, PDO::PARAM_STR);
foreach ($_POST['ssl'] as $id => $ssl) {
if(isset($_POST['thirtydays'][$id])){ $exp = $_POST['thirtydays'][$id]; }
$country = $_POST['country'][$id];
$stmt->execute();
}

echo '<h1>Updated the records.</h1>';

关于php - 复选框中的任意值会导致在 PDO 上执行 SQL 语句变得困难,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20926127/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com