1

私のデータベースには、画像列を持つプロファイル テーブルがあります。ユーザーが Web フォームに画像の URL を挿入していない場合、デフォルト値を使用してデフォルトの画像を設定したいと考えています。

列の定義:

profile_image varchar(255) NOT NULL DEFAULT 'http://i.imgur.com/U.png'

デフォルトの画像 URL を phpmyadmin に既に挿入しましたが、Web フォームで送信をクリックするたびに、Web フォームのデータのすべてのキーがプロファイル テーブルに保存されますが、画像列は空です。

Webフォームに画像URLを追加することでフォームでこれを実行できることはわかっていますが、mysqlを介してこれを実行したいと考えています。

この問題は、php の挿入時に画像を挿入したため解決しましたが、null 値を使用して mysql に NULL を送信していることを知らせるにはどうすればよいですか? これは Null を使用する正しい方法ですか?

$nl = NULL; 
$query = "INSERT INTO `student` (
`name` ,
`emel` ,
`address` ,
`profile_image` 
)
VALUES (
'$name', '$emel', '$add', '$nl');";

上記のコードは機能しません。profile_image 列はまだ空です。

4

1 に答える 1

4

次の 2 つのことを行う必要があります。

1.)画像の列のデフォルト値を指定します。おそらく次のようになりdefault.jpg
ます(すでにこれを行っていると思います)

2.) php スクリプトがnull value(空ではない) またはdon't specify the value at all挿入/変更中に提供されていることを確認して、mysql がデフォルト値を使用する必要があることを認識します。または、php スクリプトでロジックを処理して、デフォルトの画像の URL を提供することもできます。ロジックは時間の経過とともに変化する可能性があり、SQL サーバーは実際にはアプリケーション ロジックの処理を担当するべきではないため、SQL の一部の複雑な関数は避けたいと思います。

于 2012-10-07T08:24:58.603 に答える