因此,如果post收到的值爲null,我試圖在表格行中顯示某個值。 到目前爲止,我得到這個作爲我小的數據庫(它在西班牙語):如果接收值爲null,則插入值
DROP DATABASE IF EXISTS fantasmas;
CREATE DATABASE fantasmas;
USE fantasmas;
CREATE TABLE tipos(
ID tinyint(2) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
TIPO VARCHAR(45) UNIQUE
);
CREATE TABLE datos(
ID tinyint(2) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
NOMBRE VARCHAR(50) NOT NULL,
ARCHIVO VARCHAR(30),
AVISTAMIENTO VARCHAR(50) NOT NULL,
LOCALIDAD VARCHAR(50) NOT NULL,
INFO VARCHAR(200),
FKTIPOS TINYINT(2) UNSIGNED,
FOREIGN KEY (FKTIPOS) REFERENCES tipos(ID)
);
INSERT INTO tipos (TIPO) VALUES('Vapor'), ('Forma Animal'), ('Forma Humanoide'), ('Dios/Semidios'),('No Catalogado');
這些插入值到「tipos」,然後顯示在選擇這樣的:
<select name="tipos">
<option value="sintipo">---------</option>
<?php
while($row = mysqli_fetch_assoc($rta)):
$tipo = $row['TIPO'];
echo '<option value="'.$row['ID'].'">'.$tipo.'</option>';
endwhile;
?>
</select>
後,當形式發送,插圖表,看起來是這樣的,如果有人選擇「------」選項,它分配空值:
$query = "INSERT INTO datos SET NOMBRE='$nombre', AVISTAMIENTO='$lugar', LOCALIDAD='$localidad', INFO='$info', ARCHIVO='$ruta', FKTIPOS = NULLIF('$tipo','sintipo')";
所有填寫表單中的數據,然後顯示在不同的租一張桌子的行。 我現在需要的是,如果有人選擇「------」選項,屏幕顯示的值是「沒有目錄」 到目前爲止,我還沒有能夠做到這一點。 任何人都可以幫助我嗎?
在最後一個查詢$ query中,你不應該把$ tipo包裝在單引號內,比如'$ tipo',沒有它$ tipo,它應該工作! –
請sql在您的查詢中跳過您的$ params,所顯示的代碼很容易出現SQL注入,這是一個非常大的風險 – Roberto