我正在尝试将信息输入数据库,同时将文件上传到服务器并将其链接存储在数据库中。此时文件已上传,但数据库中没有显示任何表单数据,并返回表单无法提交的错误消息,但实际上并未指定错误。
任何帮助都会很棒!
<?php
$dbc=mysql_connect('localhost', 'mgertenbach', 'mollyr');
mysql_select_db('mgertenbach', $dbc);
if($_SERVER['REQUEST_METHOD']=='POST'){
//you needed to move this INSIDE the conditional.. you had it up at line 15 which... woudl cause the errors to show.
$sqlInsertString = "INSERT INTO band_information
VALUES ('{$_POST['bandname']}', '{$_FILES['bandphoto']['name']}', '{$_POST['bandbio']}', '{$_POST['bandcity']}', '{$_POST['bandstate']}', '{$_POST['bandzipcode']}', '{$_POST['bandgenre']}', '{$_POST['bandlink']}');";
if(move_uploaded_file($_FILES['bandphoto']['tmp_name'], "C:\\HTML\\mgertenbach\\BAND\\photos\\{$_FILES['bandphoto']['name']}") && @mysql_query($sqlinsertString, $dbc)){
print '<p>Thanks for submitting your band!</p>';
} else {
print '<p>Could not submit band because: <br/>' .
mysql_error($dbc) . '</p>';
}
}
?>
<h3>Please fill out the following information.</h3>
<form action="submitband.php" method="post" enctype="multipart/form-data">
<fieldset><legend>Who Are You?</legend>
<label>Band Name: <input type="text" name="bandname" size="10"/></label>
<br/><br/>
<label>Link to Photo*: <input type="hidden" name="MAX_FILE_SIZE" value="300000" /><input type="file" id="bandphoto" name="bandphoto" /></label>
<br/> *image must be a square file
<br/><br/>
<label>Enter a short bio: <br/><textarea name="bandbio" cols="40" rows="10"></textarea></label>
</fieldset>
<br/><br/>
<fieldset><legend>Where Are You From?</legend>
<label>City: <input type="text" name="bandcity" size="10"/></label>
<br/><br/>
<label>State:
<select id="bandstate" name="bandstate">
<option value=""> </option>
<option value="AL">Alabama</option>
<option value="AK">Alaska</option>
<option value="AZ">Arizona</option>
<option value="AR">Arkansas</option>
<option value="CA">California</option>
<option value="CO">Colorado</option>
<option value="CT">Connecticut</option>
<option value="DE">Delaware</option>
<option value="DC">District Of Columbia</option>
<option value="FL">Florida</option>
<option value="GA">Georgia</option>
<option value="HI">Hawaii</option>
<option value="ID">Idaho</option>
<option value="IL">Illinois</option>
<option value="IN">Indiana</option>
<option value="IA">Iowa</option>
<option value="KS">Kansas</option>
<option value="KY">Kentucky</option>
<option value="LA">Louisiana</option>
<option value="ME">Maine</option>
<option value="MD">Maryland</option>
<option value="MA">Massachusetts</option>
<option value="MI">Michigan</option>
<option value="MN">Minnesota</option>
<option value="MS">Mississippi</option>
<option value="MO">Missouri</option>
<option value="MT">Montana</option>
<option value="NE">Nebraska</option>
<option value="NV">Nevada</option>
<option value="NH">New Hampshire</option>
<option value="NJ">New Jersey</option>
<option value="NM">New Mexico</option>
<option value="NY">New York</option>
<option value="NC">North Carolina</option>
<option value="ND">North Dakota</option>
<option value="OH">Ohio</option>
<option value="OK">Oklahoma</option>
<option value="OR">Oregon</option>
<option value="PA">Pennsylvania</option>
<option value="RI">Rhode Island</option>
<option value="SC">South Carolina</option>
<option value="SD">South Dakota</option>
<option value="TN">Tennessee</option>
<option value="TX">Texas</option>
<option value="UT">Utah</option>
<option value="VT">Vermont</option>
<option value="VA">Virginia</option>
<option value="WA">Washington</option>
<option value="WV">West Virginia</option>
<option value="WI">Wisconsin</option>
<option value="WY">Wyoming</option>
</select></label>
<br/><br/>
<label>Zipcode: <input type="text" name="bandzipcode" size="10"/></label>
</fieldset>
<br/><br/>
<fieldset><legend>What's Your Music Like?</legend>
<label>Genre:
<select name="bandgenre">
<option value="country">Country</option>
<option value="electronic">Electronic</option>
<option value="folk">Folk</option>
<option value="indie">Indie</option>
<option value="punk">Punk</option>
<option value="rock">Rock</option>
</select>
</label>
<br/><br/>
<label>Share a link to where we can hear it: <input type="text" name="bandlink" size="40"/></label>
</fieldset>
<br/><br/>
<input type="submit" value="submit"/>
</form>
最佳答案
为什么有这样的大括号
'{$_POST['bandname']}'
这是 PHP 而不是 bash,所以摆脱它们。
-
however does not actually specify the error
从中删除
@
@mysql_query 查看错误 您的代码容易受到 SQL 注入(inject)的攻击,如 注释使用参数化查询或PDO
关于php - 表单未提交到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20481175/