0

私はこれを持っています<input type="text" name="Fax" id="faxbox" maxlength="9" value="<?php echo $row['Fax'] ?>" />

送信時に空白のままにしたい。データベースでは、その列 (int として) も null を許可するように設定されています。

しかし、送信すると、空/空白のフィールドが MySql によって 0 (ゼロ) に変わります。0 ではなく NULL を表示したい。

私は何をすべきか?試してみif(empty($_POST['Fax'])){$Fax=NULL;}ますがうまくいきません。

4

2 に答える 2

1

phpを使用してMySQLに値を挿入するNULLには、次のようにする必要があります。

INSERT INTO table (field,field2) VALUES (NULL,3)

あなたの場合、これを試してください:

$Fax = !empty($Fax) ? "'$Fax'" : "NULL"; 
INSERT INTO tableName (Fax) VALUES ($Fax);

このリンクの詳細

于 2012-08-06T03:11:15.373 に答える
1

実際には文字列 null を使用する必要があります。

$Fax = 'NULL';

どこかの文字列コンテキストで使用すると、php null は空の文字列に変換されます。


ファローアップ:

あなたが持っている場合:

$Fax = null;
$sql = "INSERT INTO .... VALUES ($Fax)";

あなたはで終わる

INSERT INTO ... VALUES ()

PHP null が空の文字列に変換されたためです。しかし、もしあなたが持っているなら

$Fax = 'null'; // a string whose contents is the word 'null'

クエリステートメントは実際には

INSERT INTO ... VALUES (null)

文字列の値が null という単語であったため、SQL null として扱われます。

于 2012-08-06T02:02:27.473 に答える