通过php编辑SQL记录

时间:2018-04-23 21:10:52

标签: php

我正在尝试使用php脚本编辑sql表中的记录。我可以加载一个表单,让我编辑文本,但是当我按下提交时它不会保存新的记录名称。它只是将我重定向到没有编辑的表格页面。

(包括DB)

<Modal animation={false} show={props.showSecondForm} onHide={props.closeWholeModal}>
    <Grid>
      <Modal.Header style={{ color: 'white', paddingBottom: 100, borderBottom: 'none' }} closeButton>
      </Modal.Header>
      <Modal.Body style={{ color: 'white', paddingBottom: 100 }}>
        <Row>
          <Col xs={12} md={6} mdOffset={3}>
            <h4 style={{ color: 'white', fontSize: '1.5em', marginBottom: 20 }}>Let's get a little more information</h4>
          </Col>
        </Row>
        <form>
          <Row>
            <Col xs={12} md={6} mdOffset={3}>
              <FormGroup controlId="type" validationState={props.validation.platformName}>
                <FormControl
                  style={{ borderRadius: 3, height: 60 }}
                  className="customInputText customSelect"
                  componentClass="select"
                  name="ecommercePlatformName"
                  placeholder="shopify"
                  value={value.ecommercePlatformName}
                  onChange={props.onChange}
                >
                  <option value="">Choose your ecommerce platform</option>
                  <option value="shopify">Shopify</option>
                  <option value="bigcommerce">Bigcommerce</option>
                  <option value="magento">Magento</option>
                  <option value="woocommerce">WooCommerce</option>
                  <option value="volusion">Volusion</option>
                  <option value="salesforce commerce cloud">Salesforce Commerce Cloud</option>
                  <option value="3dcart">3DCart</option>
                  <option value="etsy">Etsy</option>
                  <option value="none">None of the Above</option>
                </FormControl>
                {props.validation.platformName === 'error' ? <HelpBlock>Please select a store.</HelpBlock> : null }
              </FormGroup>
            </Col>
          </Row>
          {
            (value.ecommercePlatformName === 'bigcommerce') ?
            <Row>
              <Col xs={12} md={6} mdOffset={3}>
                <FormGroup validationState={props.validation.storeName}>
                  <FormControl
                    style={{ borderRadius: 3, height: 60 }}
                    className="customInputText"
                    type="text"
                    name="ecommerceStoreName"
                    placeholder="Ecommerce Store Name"
                    value={value.ecommerceStoreName}
                    onChange={props.onChange}
                  />
                  {props.validation.storeName === 'error' ? <HelpBlock>Please enter a store name.</HelpBlock> : null }
                </FormGroup>
              </Col>
            </Row> : null
          }
          {
            (value.ecommercePlatformName === 'shopify') ?
              <Row>
                <Col xs={12} md={6} mdOffset={3}>
                  <FormGroup validationState={props.shopifyStoreURLValidation}>
                    <FormControl
                      style={{ borderRadius: 3, height: 60 }}
                      className="customInputText"
                      type="text"
                      name="shopifyStoreURL"
                      placeholder="Shopify Store URL"
                      value={value.shopifyStoreURL}
                      onChange={props.onChange}
                    />
                    {props.shopifyStoreURLValidation === 'error' ? <HelpBlock>Not a valid Shopify store URL</HelpBlock> : null }
                  </FormGroup>
                </Col>
              </Row> : null
          }
          <Row>
            <Col xs={12} md={6} mdOffset={3}>
              <FormGroup controlId="firstName" validationState={props.validation.firstName}>
                <FormControl
                  style={{ borderRadius: 3, height: 60 }}
                  className="customInputText"
                  type="text"
                  name="firstName"
                  placeholder="First Name"
                  value={value.firstName}
                  onChange={props.onChange}
                />
                {props.validation.firstName === 'error' ? <HelpBlock>Please enter your first name.</HelpBlock> : null }
              </FormGroup>
            </Col>
          </Row>
          <Row>
            <Col xs={12} md={6} mdOffset={3}>
              <FormGroup controlId="lastName" validationState={props.validation.lastName}>
                <FormControl
                  style={{ borderRadius: 3, height: 60 }}
                  className="customInputText"
                  type="text"
                  name="lastName"
                  placeholder="Last Name"
                  value={value.lastName}
                  onChange={props.onChange}
                />
                {props.validation.lastName === 'error' ? <HelpBlock>Please enter your last name.</HelpBlock> : null }
              </FormGroup>
            </Col>
          </Row>
          <Row>
            <Col xs={12} md={6} mdOffset={3}>
              <FormGroup validationState={props.validation.phoneNumber}>
                <FormControl
                  style={{ borderRadius: 3, height: 60 }}
                  className="customInputText"
                  type="text"
                  name="phone"
                  placeholder="Phone Number"
                  value={value.phone}
                  onChange={props.onChange}
                />
                {props.validation.phoneNumber === 'error' ? <HelpBlock>Please enter your phone number.</HelpBlock> : null }
              </FormGroup>
            </Col>
          </Row>
          <Row>
            <Col xs={12} md={6} mdOffset={3}>
              <Button
                id="register-button"
                style={{ paddingTop: 20, paddingBottom: 20 }}
                className="saveButton pull-right"
                onClick={props.register}
              >
                REGISTER
              </Button>
              <Button
                style={{ paddingTop: 20, paddingBottom: 20, marginRight: 10 }}
                className="saveButton pull-right"
                onClick={() => props.modalChange('back')}
              >
                BACK
              </Button>
            </Col>
          </Row>
          <Row style={{marginTop: 15}}>
            <Col xs={12} md={6} mdOffset={3}>
              <p style={{ color: 'white', backgroundColor: 'transparent', fontSize: 10, textAlign: 'center' }}>
                By creating an account, you agree to our <a className="footer-text" href="/privacy-policy">Privacy Policy</a> and <a className="footer-text" href="/terms-of-service">Terms & Conditions</a>
              </p>
            </Col>
          </Row>
        </form>
      </Modal.Body>
    </Grid>
  </Modal>



 handleFormChange(event) {
const target = event.target;
const name = target.name;
let value = (target.type === 'checkbox') ? target.checked : target.value;

if (name === 'phone') {
  value = this.phoneFormat(value);
}

const newUser = Object.assign({}, this.state.regUser, { [name]: value });

if (name === 'shopifyStoreURL') {
  // this.setState({ regUser: newUser }, this.testShopifyURL);
  this.setState({ regUser: newUser });
} else {
  this.setState({ regUser: newUser });
}

谢谢!

1 个答案:

答案 0 :(得分:0)

PHP doc说:

  

参数标识符。对于使用命名占位符的预准备语句,这将是:name形式的参数名称。对于使用问号占位符的预准备语句,这将是参数的1索引位置。

在您的代码中,您使用"s"作为bindParam的参数!

<?php
function renderForm($ArtistName = '', $error = '', $ArtistID = '')
{
    //
}


if (isset($_GET['submit'])){
    if (isset($_POST['ArtistID'])){
        if (is_numeric($_GET['ArtistID'])){
            $ArtistID = $_GET['ArtistID'];
            $ArtistName = htmlentities($_POST['ArtistName'], ENT_QUOTES);
            if ($ArtistName == ''){
                $error = 'ERROR: Please fill in all required fields!';
                renderForm($ArtistName, $error, $ArtistID);
            }else{
                if ($stmt = $conn->prepare("UPDATE Artists SET ArtistName = ? WHERE ArtistID=?")){
                    $stmt->bind_param(1, $ArtistName);
                    $stmt->bind_param(2, $ArtistID, PDO::PARAM_INT);
                    $stmt->execute();
                    $stmt->close();
                }else{
                    echo "ERROR: could not prepare SQL statement.";
                }
            }
        }
    }
}
?>