php怎么特定把字段输入数据库,关于php:如何使用mysqli在表中的特定字段中插入多个值?...

本问题已经有最佳答案,请猛点这里访问。

我正在研究一个项目,我有一个这样的场景:

我桌子上有很多字段:

table_name : transaction_tbl

-id

-name

-description

-ref_number : text(datatype)

在我的插入这里是我的代码:

$sql ="INSERT INTO transaction_tbl (`name`,`description`,`ref_number`) VALUES ('$name','$desccription',$ref_number)";

if ($conn->query($sql) === false){

trigger_error('Wrong SQL: ' . $sql . 'Error: ' . $conn->error , E_USER_ERROR);

}else {

echo"Successful ! Data is inserted in database ^__^" ;

}

由于名称本身是ref_number或参考号,所以有一段时间我会有很多参考号,如果它有多个值我怎么能让它插入?

谢谢 :)

更新:

我想要这样的东西:

name    description            ref_number

bag     to be use               10359435846

05438547656

035848576

使用单独的表,每个事务和参考编号一行。 这被称为联结表。

我怎样才能做到这一点? 你举个例子吗?

你不能在一个单元格中有多个val。 它违反了基本的数据库规则。 只需将其拆分为两个表,并使用外键将其链接起来。 学习db规范化。 有很多例子。 在这里,您需要将未规范化(0 nf)的表至少提升到第一个标准化级别(1 nf)。 但它建议将其标准化至少达到第3级。google.com/…

是的,除了制作两张正常化的表之外,没有别的办法吗? 如果我只是使用爆炸怎么样?

它会给你带来很多麻烦。 很多....性能问题。 表链接问题。 在使用此结构创建一些高级查询时,您可能会陷入困境。

所以你举个例子,我该怎么办?

在一个单元格中拥有多个值并不是一个好习惯(除非有严重的原因,否则你永远不应该这样做)。它违反了基本的数据库规则。只需将其拆分为两个表并分配外键即可将其链接起来。

学习db规范化。有很多例子。在这里,您需要将未规范化(0NF)表至少提升到第一个标准化级别(1NF)。但它建议将其标准化至少达到第3级

谷歌的数据库规范化教程。根据您的要求,下面的图片会给您一个想法(字段名称与您的问题中的字段名称不同)。

7e619b19e7607bc8cb74e1182a96fced.gif

首先将值插入table1(成员表)并在php中使用$iid = mysqli_insert_id()获取插入ID

接下来,将多个值作为单独的行与第一步中获得的主键一起添加到第二个表(数据库表)中。

请记住,这不是一个教程网站。在网上查找更多信息。

出于什么目的 ?为什么不直接插入具有不同ref_number的相同名称和描述的新行?

但如果您愿意,可以将新的ref_number与现有的连接。

首先检查它是否已经存在

得到它的值,然后连接新的参考号..

或者如果它不存在,插入一个新行..

$sql ="SELECT `ref_number` FROM `transaction_tbl`

WHERE `name`='$name' AND `description`='$description'";

$query = mysql_query($sql);

if(mysql_num_rows($query) > 0)

{

$row = mysql_fetch_array($query);

$new_ref = $row['ref_number'] . '|' . $ref_number;

$upd ="UPDATE `transaction_tbl` SET `ref_number`='$new_ref'

WHERE `name`='$name' AND `description`='$description'";

}

else

{

$ins ="INSERT INTO transaction_tbl (`name`,`description`,`ref_number`)

VALUES ('$name','$desccription',$ref_number)";

mysql_query($ins);

}

如果我只是使用爆炸怎么办? 我怎样才能做到这一点?

我也在使用mysqli

永远不要这样做。 使用两个单独的表。

这不是一个好习惯..就像kuma DK ..只是使用另一行/表..但是...你只需要使用"|"爆炸

并且不要downvote bcuz我只是回答了他想做的事情.. :)

只需编辑答案至少一点点。 否则我不能改变投票。 它不允许。

你们可以,给我一个很好的例子,我应该做些什么? 谢谢 :)

@kumaDK:你能举例说明如何使用两个表吗? 因为我也遇到了那个错误,,,谢谢:)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值