0
可能是初學者的錯誤,但我的PHP $ _POST似乎刪除了通過表單提交的部分值。
下面的代碼工作完全正常,如果$ COMPANY_NAME僅僅是一個單詞(不含空格),但與空間上的值似乎不工作...
我用下面的代碼提交表單:
<form action='deletecompany.php' method='post'>
Company name:
<select name="company_name">
<?php
$sql = "SELECT company_name FROM company";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
while($row = mysqli_fetch_assoc($result)) {
echo "<option value=".$row["company_name"].">" . $row["company_name"]. "</option>";
}
} else {
echo "The database does not include any countries.";
}
?>
</select>
<input type='submit'>
</form>
在下拉菜單中,值正確顯示爲(例如)「國家Y中的公司」。
但是,當我使用deletecompany.php文件中的發佈值時,只有第一個單詞(「公司」)會通過。
我用下面的代碼在deletecompany.php:
if (isset($_POST["company_name"])){
// delete from database
$company_name = $_POST["company_name"];
$delete_company = "DELETE FROM company WHERE company_name='$company_name'";
if ($conn->query($delete_company) === TRUE) {
echo $company_name . " has been deleted successfully!";
} else {
echo "Error: " . $delete_company . "<br>" . $conn->error;
}
}
的deletecompany.php頁的輸出將是「公司已成功刪除!」但實際上沒有公司被刪除,因爲相關的MYSQL colomn中沒有這樣的值(在'Y國'有一個值'Company')。
是否$ _POST自動刪除部分值或者我在這裏錯過了其他的東西?
謝謝!
值缺少引號:'回聲 「<期權價值=」「 $行[ 」COMPANY_NAME「]」。「 >「。 $行[ 「COMPANY_NAME」。 「」;' – 2015-08-16 01:58:29
謝謝,解決了! – dathiezer
您應該使用數據庫結果的'ID'作爲'values'。 – CodeGodie