gpt4 book ai didi

php - mysql 将第一个字段插入整个表

转载 作者:行者123 更新时间:2023-11-30 00:26:57 25 4
gpt4 key购买 nike

好吧...我在这里不知所措。转向此处寻求帮助。

我正在尝试将包含用户信息的 csv 文件插入数据库。我首先检查 UserID 是否存在,如果不存在,则使用简单的查询语句为每个用户插入数据。

问题是,它不是将所有用户数据插入一行,而是仅将名字插入该行中的每个字段。

名字*姓氏*地址

乔治乔治乔治

我没有分配自动递增键,因为我已经有一个 USERID 我想用作引用。这段代码不应该做我想要的事情吗?

    $stmt2 = $con->query("INSERT INTO Persons
(First_Name, Middle_Initial, Last_Name, Address, Address2, City, State, Zip_Code,Daytime_Phone,Nighttime_Phone,Customer_ID)
VALUES ('$FirstName','$MiddleInitial','$LastName','$Address','$Address2','$City','$State','$Zip','$DayPhone','$NightPhone','$CustomerID')");

这就是我分配 php 变量的方式

    if (($handle = fopen("data/" . $File, "r")) !== FALSE) {
// File is available
// retrieve one data line at a time
$row = 1;
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
if ($row == 1) {
// These are the column names
$FormattedFields = str_replace(' ', "", $data);
preg_replace('/[^A-Za-z0-9-]/', '', $FormattedFields);
foreach ($FormattedFields as $Key => $UpperField) {
$LowerField = strtolower($UpperField);
$NewFields[$Key] = $LowerField;
}

$FNL = array_search('firstname', $NewFields);
$LNL = array_search('lastname', $NewFields);
$MIL = array_search('middleinitial', $NewFields);
$AL = array_search('middleinitial', $NewFields);
$A2L = array_search('middleinitial', $NewFields);
$CL = array_search('middleinitial', $NewFields);
$SL = array_search('middleinitial', $NewFields);
$ZL = array_search('middleinitial', $NewFields);
$DPL = array_search('middleinitial', $NewFields);
$NPL = array_search('middleinitial', $NewFields);
$CIDL = array_search('middleinitial', $NewFields);
} else {
$FirstName = $data[$FNL];
$MiddleInitial = $data[$MIL];
$LastName = $data[$LNL];
$Address = $data[$AL];
$Address2 = $data[$A2L];
$City = $data[$CL];
$State = $data[$SL];
$Zip = $data[$ZL];
$DayPhone = $data[$DPL];
$NightPhone = $data[$NPL];
$CustomerID = $data[$CIDL];

最佳答案

您正在使用 array_search('middleinitial', $NewFields) 查找从 middleinitial 开始的每一列,因此您将得到所有这些列中的值相同。

此外,正如我在评论中所说,您对 SQL injection 持开放态度。 .

关于php - mysql 将第一个字段插入整个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22799868/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com