php - 在具有重复项的单列上插入多行

标签 php mysql

这里完全是新手。我有一个关于插入语法的问题。我希望我的表格看起来像这样,以 ID 作为主键(AI、NN),并且我可以在文档上输入具有相同大小写和名称的多个项目。我目前正在使用一个 php 脚本,该脚本从结果中提取这些信息并将其插入数据库,但在语法方面存在问题。

   ID|    Case|  Name| Document| Date
 ----------------------------------------------
   1     233    alex    ITR      2015-1-1
   2     233    alex    ITR      2015-1-1
   3     233    alex    NULL     0000-0-0
   4     234    ben     COC      2015-3-3
   5     234    ben     VAT      2015-3-3
   6     234    ben     NULL     0000-0-0

我的代码是这样的:

 $sql="INSERT INTO table1 (Case, Name, Document, Date) VALUES ('$casenum','$name','$doc1-5(*this is where I dont know what todo)','$date1-5(this also)

最佳答案

如果您只有特定的文档和日期列表,难道不能只使用数组吗?

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

$docs =('ITR', 'COC', etc);
$date =('2015-1-1', etc);

// prepare and bind    
$stmt = $conn->prepare('INSERT INTO table1 (Case, Name, Document, Date) VALUES (?, ?, ?, ?)');
$stmt->bind_param('ssss', $casenum, $name, $docs[0-4], $date[0-4]);
$stmt->execute();
$stmt->close();
$conn->commit(); //otherwise your data won't save

还要确保始终使用prepare和bind_param以防止sql注入(inject) - 至关重要,否则您的整个数据库可能会变得困惑

关于php - 在具有重复项的单列上插入多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30042692/

相关文章:

php - 这个sql代码有什么问题?

php - 向mysql数据库中插入一个数组

MySQL:计算某些值

php - 使用 mysql 数据进行简单的日期验证

php - 为什么 Doctrine 不能清除我的数据库? Doctrine 的语法错误

php - Rancher 操作系统 : generate data in one container and set as environment variable in another container

javascript - html提交表单ajax响应

MySQL 在不降低服务速度的情况下删除大表

mysql - 如何以编程方式删除 MySQL View 的列?

php - 延迟 20 秒运行第二个 php 文件