就像标题本身告诉我的,我想用更短的方式编写 soms PHP 更新 mysql 代码
这是 php 代码的示例 block :
if ($_SERVER['REQUEST_METHOD'] == 'POST'){
$getid = $_SESSION['id']
if (empty($_POST['name']) {
$name = ' ',
}
if (empty($_POST['firstname']) {
$firstname = ' ',
}
if (empty($_POST['address']) {
$address = ' ',
}
$upregstmt = $dbh->prepare("UPDATE contacts SET c_firstname = ?, c_name = ?, c_address = ? WHERE c_id = ?");
$upregstmt->bindParam(1, $firstname);
$upregstmt->bindParam(1, $name);
$upregstmt->bindParam(1, $address);
$upregstmt->bindParam(1, $getid);
$upregstmt->execute();
}
我有一个更大的表单,其中并非所有内容都会被填写,并且必须保持为空,因此在这种情况下我必须使用一个空变量。
问题:没有解决这个问题的方法(您可以与查询一起发送的参数,例如它不会给我一个空变量错误?)并且其他代码不能写得更小吗?
最佳答案
您可以这样做缩短一点:
$exludeArray = array("submit");
foreach ($_POST as $key => $value) {
if (!in_array($key, $excludeArray))
$upregstmt->bindParam(1, (empty($value) ? " " : $value));
}
它循环遍历您的 $_POST 全局,排除您不想添加的内容,例如提交按钮。
它未经测试,但应该可以让您了解如何解决这个问题。
关于php - 从表单编写简短的 PHP 更新代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23651604/