我的数据库有一个带有图像列的配置文件表。如果用户没有在Web表单中插入他的图像URL,我想使用默认值设置默认图像。
列定义:
profile_image varchar(255) NOT NULL DEFAULT 'http://i.imgur.com/U.png'
我已经在phpmyadmin中插入了默认图片网址,但每次点击网络表单提交时,网络表单中的每个数据键都存储在个人资料表中,但图片列为空。
我知道我可以通过在网络表单中添加图片网址来执行此操作,但我想通过mysql执行此操作。
这个问题解决了,因为我在php插入时插入了图像但是如何使用null值让mysql知道我发送的是NULL?这是使用Null的正确方法吗?
$nl = NULL;
$query = "INSERT INTO `student` (
`name` ,
`emel` ,
`address` ,
`profile_image`
)
VALUES (
'$name', '$emel', '$add', '$nl');";
以上代码无效。 profile_image列仍为空。
答案 0 :(得分:4)
你需要做两件事:
1。)指定图像列的默认值,可能类似于default.jpg
(我相信你已经这样做了)
2.)确保您的php脚本在插入/修改期间提供null value
(非空)或don't specify the value at all
,因此您的mysql知道它需要使用默认值。或者,您可以处理php脚本中的逻辑,以提供默认图像的URL。我会避免在SQL中使用一些复杂的函数,因为你的逻辑可能会随着时间而改变,而SQL服务器实际上不应该负责处理应用程序逻辑。