【问题标题】:Phpmyadmin default valuephpmyadmin 默认值
【发布时间】:2012-09-27 20:17:42
【问题描述】:

我的数据库有一个带有图像列的配置文件表。如果用户没有在 Web 表单中插入他的图像 URL,我想使用默认值设置默认图像。

列定义:

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

我已经在 phpmyadmin 中插入了默认图片 URL,但是每次在 web 表单中单击提交时,webform 中的每个数据键都存储在配置文件表中,但图像列是空的。

我知道我可以通过在 web 表单中添加图像 URL 来使用表单来执行此操作,但我想通过 mysql 执行此操作。

这个问题解决了,因为我在 php insert 中插入了图像,但是如何使用 null 值让 mysql 知道我正在发送 NULL?这是使用 Null 的正确方法吗?

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

上面的代码不起作用。 profile_image 列仍为空。

【问题讨论】:

  • 我添加了列定义。谢谢。
  • 谢谢,我把这个更突出了,所以你的问题更容易阅读。您还看到 2.) 在@walther 的回答中吗?
  • 是的,它的工作原理,但我如何使用/发送空值?
  • 将变量设置为NULLuse prepared statements,而不是自己生成SQL字符串。

标签: php mysql phpmyadmin


【解决方案1】:

你需要做两件事:

1.) 指定图片列的默认值,可能类似于default.jpg
(我相信你已经这样做了)

2.) 确保您的 php 脚本在插入/修改期间提供null value(非空)或don't specify the value at all,以便您的 mysql 知道它需要使用默认值。或者您可以处理 php 脚本中的逻辑以提供默认图像的 url。我会避免使用 SQL 中的一些复杂函数,因为您的逻辑可能会随着时间而改变,而 SQL Server 确实不应该负责处理应用程序逻辑。

【讨论】:

  • 它现在可以工作了,但我如何实际发送空值?我在上面更新了我的问题。再次感谢。
  • @sg552,你需要去掉那些引号才能让它工作。有关示例,请参阅此已解决的问题:stackoverflow.com/questions/6398820/…
猜你喜欢
  • 1970-01-01
  • 2013-12-20
  • 2013-01-11
  • 1970-01-01
  • 2018-09-24
  • 2021-06-16
  • 2017-12-16
  • 1970-01-01
相关资源
最近更新 更多