如何使用多列

时间:2017-12-02 02:34:11

标签: php pdo

我试图更新用户地址,该地址位于多个不同的列中,每个地址都有一个。

它不会在error_log和网站中产生任何错误,当我点击提交时,它会刷新并显示空白页面。

$Street = (!empty($_POST['street'])) ? $_POST['street'] : false;
$City = (!empty($_POST['city'])) ? $_POST['city'] : false;
$State = (!empty($_POST['state'])) ? $_POST['state'] : false;
$ZIP = (!empty($_POST['ZIP'])) ? $_POST['ZIP'] : false;
$Submit = (!empty($_POST['submit'])) ? true : false;
$ErrorArray = array();
if ($Submit) {
    if (!$Street || !$City || !$State || !$ZIP) {
        if (!$Street) {
            array_push($ErrorArray, 'Please enter your Street Number.');
        } if (!$City) {
            array_push($ErrorArray, 'Please enter a City');
        } if (!$State) {
            array_push($ErrorArray, 'Please enter a State.');
        } if (!$ZIP) {
            array_push($ErrorArray, 'Please enter a ZIP.');
        }
    }
    else {

        $UpdateAdd = $db->prepare("UPDATE User SET User.Street, User.City, User.State, User.ZIP VALUES(':Street', ':City', ':State', ':ZIP') WHERE User.ID = '".$gU->ID."'");
        $UpdateAdd->bindParam(':Street', $Street, PDO::PARAM_STR);
        $UpdateAdd->bindParam(':City', $City, PDO::PARAM_STR);
        $UpdateAdd->bindParam(':State', $State, PDO::PARAM_STR);
        $UpdateAdd->bindParam(':ZIP', $ZIP, PDO::PARAM_STR);
        $UpdateAdd->execute();
        array_push($ErrorArray, 'Address Updated!');
    }
}

1 个答案:

答案 0 :(得分:-1)

检查您的HTML表单,并确保您的提交按钮的名称属性为'提交'?

<input type="submit" name="submit">

在检查之后,从以下位置更改PHP行:

$Submit = (!empty($_POST['submit'])) ? true : false;

要:

$Submit = (isset($_POST['submit'])) ? true : false;

因为您正在检查是否存在而不是该输入的值。